Sophie

Sophie

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

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:48:09 GMT 2011 -->
<TITLE>
ValueComparison
</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="ValueComparison";
    }
}
</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="../../../../net/sf/saxon/expr/UserFunctionCall.html" title="class in net.sf.saxon.expr"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../net/sf/saxon/expr/ValueTailIterator.html" title="class in net.sf.saxon.expr"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?net/sf/saxon/expr/ValueComparison.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ValueComparison.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;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_net.sf.saxon.expr.BinaryExpression">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">
net.sf.saxon.expr</FONT>
<BR>
Class ValueComparison</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/Expression.html" title="class in net.sf.saxon.expr">net.sf.saxon.expr.Expression</A>
      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html" title="class in net.sf.saxon.expr">net.sf.saxon.expr.BinaryExpression</A>
          <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>net.sf.saxon.expr.ValueComparison</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://download.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/javax/xml/transform/SourceLocator.html?is-external=true" title="class or interface in javax.xml.transform">SourceLocator</A>, <A HREF="../../../../net/sf/saxon/event/LocationProvider.html" title="interface in net.sf.saxon.event">LocationProvider</A>, <A HREF="../../../../net/sf/saxon/event/SaxonLocator.html" title="interface in net.sf.saxon.event">SaxonLocator</A>, <A HREF="../../../../net/sf/saxon/expr/ComparisonExpression.html" title="interface in net.sf.saxon.expr">ComparisonExpression</A>, <A HREF="../../../../net/sf/saxon/expr/Negatable.html" title="interface in net.sf.saxon.expr">Negatable</A>, <A HREF="../../../../net/sf/saxon/trace/InstructionInfo.html" title="interface in net.sf.saxon.trace">InstructionInfo</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/org/xml/sax/Locator.html?is-external=true" title="class or interface in org.xml.sax">Locator</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public final class <B>ValueComparison</B><DT>extends <A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html" title="class in net.sf.saxon.expr">BinaryExpression</A><DT>implements <A HREF="../../../../net/sf/saxon/expr/ComparisonExpression.html" title="interface in net.sf.saxon.expr">ComparisonExpression</A>, <A HREF="../../../../net/sf/saxon/expr/Negatable.html" title="interface in net.sf.saxon.expr">Negatable</A></DL>
</PRE>

<P>
ValueComparison: a boolean expression that compares two atomic values
 for equals, not-equals, greater-than or less-than. Implements the operators
 eq, ne, lt, le, gt, ge
<P>

<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#net.sf.saxon.expr.ValueComparison">Serialized Form</A></DL>
<HR>

<P>
<!-- =========== 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.BinaryExpression"><!-- --></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.<A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html" title="class in net.sf.saxon.expr">BinaryExpression</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html#operand0">operand0</A>, <A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html#operand1">operand1</A>, <A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html#operator">operator</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_net.sf.saxon.expr.Expression"><!-- --></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.<A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../net/sf/saxon/expr/Expression.html#EFFECTIVE_BOOLEAN_VALUE">EFFECTIVE_BOOLEAN_VALUE</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#EVALUATE_METHOD">EVALUATE_METHOD</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#EVENT_FEED_METHOD">EVENT_FEED_METHOD</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#ITEM_FEED_METHOD">ITEM_FEED_METHOD</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#ITERATE_METHOD">ITERATE_METHOD</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#locationId">locationId</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#MAX_SEQUENCE_LENGTH">MAX_SEQUENCE_LENGTH</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#MAX_STRING_LENGTH">MAX_STRING_LENGTH</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#PROCESS_METHOD">PROCESS_METHOD</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#PUSH_SELECTION">PUSH_SELECTION</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#staticProperties">staticProperties</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#UNBOUNDED_LOWER">UNBOUNDED_LOWER</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#UNBOUNDED_UPPER">UNBOUNDED_UPPER</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#WATCH_METHOD">WATCH_METHOD</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="../../../../net/sf/saxon/expr/ValueComparison.html#ValueComparison(net.sf.saxon.expr.Expression, int, net.sf.saxon.expr.Expression)">ValueComparison</A></B>(<A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&nbsp;p1,
                int&nbsp;op,
                <A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&nbsp;p2)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a comparison expression identifying the two operands and the operator</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/expr/ValueComparison.html#computeCardinality()">computeCardinality</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determine the static cardinality.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/expr/ValueComparison.html#convertsUntypedToOther()">convertsUntypedToOther</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determine whether untyped atomic values should be converted to the type of the other operand</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/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/expr/ValueComparison.html#copy()">copy</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copy an expression.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/expr/ValueComparison.html#effectiveBooleanValue(net.sf.saxon.expr.XPathContext)">effectiveBooleanValue</A></B>(<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;Evaluate the effective boolean value of the expression</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../net/sf/saxon/om/Item.html" title="interface in net.sf.saxon.om">Item</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/expr/ValueComparison.html#evaluateItem(net.sf.saxon.expr.XPathContext)">evaluateItem</A></B>(<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;Evaluate the expression in a given context</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/expr/ValueComparison.html#explainExtraAttribute(net.sf.saxon.trace.ExpressionPresenter)">explainExtraAttribute</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;&nbsp;</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/sort/AtomicComparer.html" title="interface in net.sf.saxon.expr.sort">AtomicComparer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/expr/ValueComparison.html#getAtomicComparer()">getAtomicComparer</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the AtomicComparer used to compare atomic values.</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="../../../../net/sf/saxon/expr/ValueComparison.html#getExpressionName()">getExpressionName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get a name identifying the kind of expression, in terms meaningful to a user.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../net/sf/saxon/type/ItemType.html" title="interface in net.sf.saxon.type">ItemType</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/expr/ValueComparison.html#getItemType(net.sf.saxon.type.TypeHierarchy)">getItemType</A></B>(<A HREF="../../../../net/sf/saxon/type/TypeHierarchy.html" title="class in net.sf.saxon.type">TypeHierarchy</A>&nbsp;th)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determine the data type of the expression</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../net/sf/saxon/value/BooleanValue.html" title="class in net.sf.saxon.value">BooleanValue</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/expr/ValueComparison.html#getResultWhenEmpty()">getResultWhenEmpty</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the result to be returned if one of the operands is an empty sequence</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="../../../../net/sf/saxon/expr/ValueComparison.html#getSingletonOperator()">getSingletonOperator</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the primitive (singleton) operator used: one of Token.FEQ, Token.FNE, Token.FLT, Token.FGT,
 Token.FLE, Token.FGE</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/expr/ValueComparison.html#isNegatable(net.sf.saxon.expr.parser.ExpressionVisitor)">isNegatable</A></B>(<A HREF="../../../../net/sf/saxon/expr/parser/ExpressionVisitor.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor</A>&nbsp;visitor)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check whether this specific instance of the expression is negatable</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/expr/ValueComparison.html#needsRuntimeComparabilityCheck()">needsRuntimeComparabilityCheck</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determine whether a run-time check is needed to check that the types of the arguments
 are comparable</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/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/expr/ValueComparison.html#negate()">negate</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the negation of this value comparison: that is, a value comparison that returns true()
 if and only if the original returns false().</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/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/expr/ValueComparison.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;Perform optimisation of an expression and its subexpressions.</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="../../../../net/sf/saxon/expr/ValueComparison.html#setAtomicComparer(net.sf.saxon.expr.sort.AtomicComparer)">setAtomicComparer</A></B>(<A HREF="../../../../net/sf/saxon/expr/sort/AtomicComparer.html" title="interface in net.sf.saxon.expr.sort">AtomicComparer</A>&nbsp;comparer)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the AtomicComparer used to compare atomic values</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="../../../../net/sf/saxon/expr/ValueComparison.html#setResultWhenEmpty(net.sf.saxon.value.BooleanValue)">setResultWhenEmpty</A></B>(<A HREF="../../../../net/sf/saxon/value/BooleanValue.html" title="class in net.sf.saxon.value">BooleanValue</A>&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the result to be returned if one of the operands is an empty sequence</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/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/expr/ValueComparison.html#typeCheck(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType)">typeCheck</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;Type-check the expression</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_net.sf.saxon.expr.BinaryExpression"><!-- --></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.<A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html" title="class in net.sf.saxon.expr">BinaryExpression</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html#computeSpecialProperties()">computeSpecialProperties</A>, <A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html#displayOperator()">displayOperator</A>, <A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html#equals(java.lang.Object)">equals</A>, <A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html#explain(net.sf.saxon.trace.ExpressionPresenter)">explain</A>, <A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html#explainExtraAttributes(net.sf.saxon.trace.ExpressionPresenter)">explainExtraAttributes</A>, <A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html#getArguments()">getArguments</A>, <A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html#getOperands()">getOperands</A>, <A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html#getOperator()">getOperator</A>, <A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html#hashCode()">hashCode</A>, <A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html#isAssociative(int)">isAssociative</A>, <A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html#isCommutative(int)">isCommutative</A>, <A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html#isInverse(int, int)">isInverse</A>, <A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html#iterateSubExpressions()">iterateSubExpressions</A>, <A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html#promote(net.sf.saxon.expr.parser.PromotionOffer, net.sf.saxon.expr.Expression)">promote</A>, <A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html#replaceSubExpression(net.sf.saxon.expr.Expression, net.sf.saxon.expr.Expression)">replaceSubExpression</A>, <A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html#setFlattened(boolean)">setFlattened</A>, <A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html#simplify(net.sf.saxon.expr.parser.ExpressionVisitor)">simplify</A>, <A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html#toString()">toString</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_net.sf.saxon.expr.Expression"><!-- --></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.<A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../net/sf/saxon/expr/Expression.html#addToPathMap(net.sf.saxon.expr.parser.PathMap, net.sf.saxon.expr.parser.PathMap.PathMapNodeSet)">addToPathMap</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#adoptChildExpression(net.sf.saxon.expr.Expression)">adoptChildExpression</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#checkForUpdatingSubexpressions()">checkForUpdatingSubexpressions</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#checkPermittedContents(net.sf.saxon.type.SchemaType, net.sf.saxon.expr.StaticContext, boolean)">checkPermittedContents</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#computeDependencies()">computeDependencies</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#computeStaticProperties()">computeStaticProperties</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#doPromotion(net.sf.saxon.expr.Expression, net.sf.saxon.expr.parser.PromotionOffer)">doPromotion</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#dynamicError(java.lang.String, java.lang.String, net.sf.saxon.expr.XPathContext)">dynamicError</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#evaluateAsString(net.sf.saxon.expr.XPathContext)">evaluateAsString</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#evaluatePendingUpdates(net.sf.saxon.expr.XPathContext, net.sf.saxon.expr.PendingUpdateList)">evaluatePendingUpdates</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#explain(java.io.OutputStream)">explain</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getCardinality()">getCardinality</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getColumnNumber()">getColumnNumber</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getColumnNumber(long)">getColumnNumber</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getConstructType()">getConstructType</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getContainer()">getContainer</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getDependencies()">getDependencies</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getEvaluationMethod()">getEvaluationMethod</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getExecutable()">getExecutable</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getHostLanguage()">getHostLanguage</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getImplementationMethod()">getImplementationMethod</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getIntegerBounds()">getIntegerBounds</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getIntrinsicDependencies()">getIntrinsicDependencies</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getLineNumber()">getLineNumber</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getLineNumber(long)">getLineNumber</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getLocationId()">getLocationId</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getLocationProvider()">getLocationProvider</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getObjectName()">getObjectName</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getProperties()">getProperties</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getProperty(java.lang.String)">getProperty</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getPublicId()">getPublicId</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getSlotsUsed()">getSlotsUsed</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getSpecialProperties()">getSpecialProperties</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getSystemId()">getSystemId</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#getSystemId(long)">getSystemId</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#hasLoopingSubexpression(net.sf.saxon.expr.Expression)">hasLoopingSubexpression</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#hasVariableBinding(net.sf.saxon.expr.Binding)">hasVariableBinding</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#implementsStaticTypeCheck()">implementsStaticTypeCheck</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#isSubtreeExpression()">isSubtreeExpression</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#isUpdatingExpression()">isUpdatingExpression</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#isVacuousExpression()">isVacuousExpression</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#iterate(net.sf.saxon.expr.XPathContext)">iterate</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#iterateEvents(net.sf.saxon.expr.XPathContext)">iterateEvents</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#iterateSameFocusSubExpressions()">iterateSameFocusSubExpressions</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#markTailFunctionCalls(net.sf.saxon.om.StructuredQName, int)">markTailFunctionCalls</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#process(net.sf.saxon.expr.XPathContext)">process</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#resetLocalStaticProperties()">resetLocalStaticProperties</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#setContainer(net.sf.saxon.expr.Container)">setContainer</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#setEvaluationMethod(int)">setEvaluationMethod</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#setFiltered(boolean)">setFiltered</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#setLocationId(int)">setLocationId</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#staticTypeCheck(net.sf.saxon.value.SequenceType, boolean, net.sf.saxon.expr.parser.RoleLocator, net.sf.saxon.TypeCheckerEnvironment)">staticTypeCheck</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#suppressValidation(int)">suppressValidation</A>, <A HREF="../../../../net/sf/saxon/expr/Expression.html#typeError(java.lang.String, java.lang.String, net.sf.saxon.expr.XPathContext)">typeError</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#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#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;<A NAME="methods_inherited_from_class_net.sf.saxon.expr.ComparisonExpression"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface net.sf.saxon.expr.<A HREF="../../../../net/sf/saxon/expr/ComparisonExpression.html" title="interface in net.sf.saxon.expr">ComparisonExpression</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../net/sf/saxon/expr/ComparisonExpression.html#getOperands()">getOperands</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="ValueComparison(net.sf.saxon.expr.Expression, int, net.sf.saxon.expr.Expression)"><!-- --></A><H3>
ValueComparison</H3>
<PRE>
public <B>ValueComparison</B>(<A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&nbsp;p1,
                       int&nbsp;op,
                       <A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&nbsp;p2)</PRE>
<DL>
<DD>Create a comparison expression identifying the two operands and the operator
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>p1</CODE> - the left-hand operand<DD><CODE>op</CODE> - the operator, as a token returned by the Tokenizer (e.g. Token.LT)<DD><CODE>p2</CODE> - the right-hand operand</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="getExpressionName()"><!-- --></A><H3>
getExpressionName</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>getExpressionName</B>()</PRE>
<DL>
<DD>Get a name identifying the kind of expression, in terms meaningful to a user.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/Expression.html#getExpressionName()">getExpressionName</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>a name identifying the kind of expression, in terms meaningful to a user.
         The name will always be in the form of a lexical XML QName, and should match the name used
         in explain() output displaying the expression.</DL>
</DD>
</DL>
<HR>

<A NAME="setAtomicComparer(net.sf.saxon.expr.sort.AtomicComparer)"><!-- --></A><H3>
setAtomicComparer</H3>
<PRE>
public void <B>setAtomicComparer</B>(<A HREF="../../../../net/sf/saxon/expr/sort/AtomicComparer.html" title="interface in net.sf.saxon.expr.sort">AtomicComparer</A>&nbsp;comparer)</PRE>
<DL>
<DD>Set the AtomicComparer used to compare atomic values
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>comparer</CODE> - the AtomicComparer</DL>
</DD>
</DL>
<HR>

<A NAME="getAtomicComparer()"><!-- --></A><H3>
getAtomicComparer</H3>
<PRE>
public <A HREF="../../../../net/sf/saxon/expr/sort/AtomicComparer.html" title="interface in net.sf.saxon.expr.sort">AtomicComparer</A> <B>getAtomicComparer</B>()</PRE>
<DL>
<DD>Get the AtomicComparer used to compare atomic values. This encapsulates any collation that is used.
 Note that the comparer is always known at compile time.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/ComparisonExpression.html#getAtomicComparer()">getAtomicComparer</A></CODE> in interface <CODE><A HREF="../../../../net/sf/saxon/expr/ComparisonExpression.html" title="interface in net.sf.saxon.expr">ComparisonExpression</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getSingletonOperator()"><!-- --></A><H3>
getSingletonOperator</H3>
<PRE>
public int <B>getSingletonOperator</B>()</PRE>
<DL>
<DD>Get the primitive (singleton) operator used: one of Token.FEQ, Token.FNE, Token.FLT, Token.FGT,
 Token.FLE, Token.FGE
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/ComparisonExpression.html#getSingletonOperator()">getSingletonOperator</A></CODE> in interface <CODE><A HREF="../../../../net/sf/saxon/expr/ComparisonExpression.html" title="interface in net.sf.saxon.expr">ComparisonExpression</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="convertsUntypedToOther()"><!-- --></A><H3>
convertsUntypedToOther</H3>
<PRE>
public boolean <B>convertsUntypedToOther</B>()</PRE>
<DL>
<DD>Determine whether untyped atomic values should be converted to the type of the other operand
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/ComparisonExpression.html#convertsUntypedToOther()">convertsUntypedToOther</A></CODE> in interface <CODE><A HREF="../../../../net/sf/saxon/expr/ComparisonExpression.html" title="interface in net.sf.saxon.expr">ComparisonExpression</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>true if untyped values should be converted to the type of the other operand, false if they
         should be converted to strings.</DL>
</DD>
</DL>
<HR>

<A NAME="setResultWhenEmpty(net.sf.saxon.value.BooleanValue)"><!-- --></A><H3>
setResultWhenEmpty</H3>
<PRE>
public void <B>setResultWhenEmpty</B>(<A HREF="../../../../net/sf/saxon/value/BooleanValue.html" title="class in net.sf.saxon.value">BooleanValue</A>&nbsp;value)</PRE>
<DL>
<DD>Set the result to be returned if one of the operands is an empty sequence
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - the result to be returned if an operand is empty. Supply null to mean the empty sequence.</DL>
</DD>
</DL>
<HR>

<A NAME="getResultWhenEmpty()"><!-- --></A><H3>
getResultWhenEmpty</H3>
<PRE>
public <A HREF="../../../../net/sf/saxon/value/BooleanValue.html" title="class in net.sf.saxon.value">BooleanValue</A> <B>getResultWhenEmpty</B>()</PRE>
<DL>
<DD>Get the result to be returned if one of the operands is an empty sequence
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>BooleanValue.TRUE, BooleanValue.FALSE, or null (meaning the empty sequence)</DL>
</DD>
</DL>
<HR>

<A NAME="needsRuntimeComparabilityCheck()"><!-- --></A><H3>
needsRuntimeComparabilityCheck</H3>
<PRE>
public boolean <B>needsRuntimeComparabilityCheck</B>()</PRE>
<DL>
<DD>Determine whether a run-time check is needed to check that the types of the arguments
 are comparable
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>true if a run-time check is needed</DL>
</DD>
</DL>
<HR>

<A NAME="typeCheck(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType)"><!-- --></A><H3>
typeCheck</H3>
<PRE>
public <A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A> <B>typeCheck</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>Type-check the expression
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html#typeCheck(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType)">typeCheck</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html" title="class in net.sf.saxon.expr">BinaryExpression</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>visitor</CODE> - an expression visitor<DD><CODE>contextItemType</CODE> - the static type of "." at the point where this expression is invoked.
 The parameter is set to null if it is known statically that the context item will be undefined.
 If the type of the context item is not known statically, the argument is set to
 <A HREF="../../../../net/sf/saxon/type/Type.html#ITEM_TYPE"><CODE>Type.ITEM_TYPE</CODE></A>
<DT><B>Returns:</B><DD>the original expression, rewritten to perform necessary run-time type checks,
 and to perform other type-related optimizations
<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 an error is discovered during this phase
     (typically a type error)</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 <A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A> <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>Perform optimisation of an expression and its subexpressions.
 <p/>
 <p>This method is called after all references to functions and variables have been resolved
 to the declaration of the function or variable, and after all type checking has been done.</p>
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/BinaryExpression.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/BinaryExpression.html" title="class in net.sf.saxon.expr">BinaryExpression</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>visitor</CODE> - an expression visitor<DD><CODE>contextItemType</CODE> - the static type of "." at the point where this expression is invoked.
                        The parameter is set to null if it is known statically that the context item will be undefined.
                        If the type of the context item is not known statically, the argument is set to
                        <A HREF="../../../../net/sf/saxon/type/Type.html#ITEM_TYPE"><CODE>Type.ITEM_TYPE</CODE></A>
<DT><B>Returns:</B><DD>the original expression, rewritten if appropriate to optimize execution
<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 an error is discovered during this phase
                                        (typically a type error)</DL>
</DD>
</DL>
<HR>

<A NAME="isNegatable(net.sf.saxon.expr.parser.ExpressionVisitor)"><!-- --></A><H3>
isNegatable</H3>
<PRE>
public boolean <B>isNegatable</B>(<A HREF="../../../../net/sf/saxon/expr/parser/ExpressionVisitor.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor</A>&nbsp;visitor)</PRE>
<DL>
<DD>Check whether this specific instance of the expression is negatable
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/Negatable.html#isNegatable(net.sf.saxon.expr.parser.ExpressionVisitor)">isNegatable</A></CODE> in interface <CODE><A HREF="../../../../net/sf/saxon/expr/Negatable.html" title="interface in net.sf.saxon.expr">Negatable</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>true if it is</DL>
</DD>
</DL>
<HR>

<A NAME="negate()"><!-- --></A><H3>
negate</H3>
<PRE>
public <A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A> <B>negate</B>()</PRE>
<DL>
<DD>Return the negation of this value comparison: that is, a value comparison that returns true()
 if and only if the original returns false(). The result must be the same as not(this) even in the
 case where one of the operands is ().
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/Negatable.html#negate()">negate</A></CODE> in interface <CODE><A HREF="../../../../net/sf/saxon/expr/Negatable.html" title="interface in net.sf.saxon.expr">Negatable</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the inverted comparison</DL>
</DD>
</DL>
<HR>

<A NAME="copy()"><!-- --></A><H3>
copy</H3>
<PRE>
public <A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A> <B>copy</B>()</PRE>
<DL>
<DD>Copy an expression. This makes a deep copy.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/Expression.html#copy()">copy</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the copy of the original expression</DL>
</DD>
</DL>
<HR>

<A NAME="effectiveBooleanValue(net.sf.saxon.expr.XPathContext)"><!-- --></A><H3>
effectiveBooleanValue</H3>
<PRE>
public boolean <B>effectiveBooleanValue</B>(<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>Evaluate the effective boolean value of the expression
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/Expression.html#effectiveBooleanValue(net.sf.saxon.expr.XPathContext)">effectiveBooleanValue</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>context</CODE> - the given context for evaluation
<DT><B>Returns:</B><DD>a boolean representing the result of the comparison of the two operands
<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 dynamic error occurs evaluating the
     expression</DL>
</DD>
</DL>
<HR>

<A NAME="evaluateItem(net.sf.saxon.expr.XPathContext)"><!-- --></A><H3>
evaluateItem</H3>
<PRE>
public <A HREF="../../../../net/sf/saxon/om/Item.html" title="interface in net.sf.saxon.om">Item</A> <B>evaluateItem</B>(<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>Evaluate the expression in a given context
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/Expression.html#evaluateItem(net.sf.saxon.expr.XPathContext)">evaluateItem</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>context</CODE> - the given context for evaluation
<DT><B>Returns:</B><DD>a BooleanValue representing the result of the numeric comparison of the two operands,
         or null representing the empty sequence
<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 dynamic error occurs evaluating the
     expression</DL>
</DD>
</DL>
<HR>

<A NAME="getItemType(net.sf.saxon.type.TypeHierarchy)"><!-- --></A><H3>
getItemType</H3>
<PRE>
public <A HREF="../../../../net/sf/saxon/type/ItemType.html" title="interface in net.sf.saxon.type">ItemType</A> <B>getItemType</B>(<A HREF="../../../../net/sf/saxon/type/TypeHierarchy.html" title="class in net.sf.saxon.type">TypeHierarchy</A>&nbsp;th)</PRE>
<DL>
<DD>Determine the data type of the expression
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/Expression.html#getItemType(net.sf.saxon.type.TypeHierarchy)">getItemType</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>th</CODE> - the type hierarchy cache
<DT><B>Returns:</B><DD>Type.BOOLEAN</DL>
</DD>
</DL>
<HR>

<A NAME="computeCardinality()"><!-- --></A><H3>
computeCardinality</H3>
<PRE>
public int <B>computeCardinality</B>()</PRE>
<DL>
<DD>Determine the static cardinality.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html#computeCardinality()">computeCardinality</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/expr/BinaryExpression.html" title="class in net.sf.saxon.expr">BinaryExpression</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the computed cardinality, as one of the values <A HREF="../../../../net/sf/saxon/expr/StaticProperty.html#ALLOWS_ZERO_OR_ONE"><CODE>StaticProperty.ALLOWS_ZERO_OR_ONE</CODE></A>,
 <A HREF="../../../../net/sf/saxon/expr/StaticProperty.html#EXACTLY_ONE"><CODE>StaticProperty.EXACTLY_ONE</CODE></A>, <A HREF="../../../../net/sf/saxon/expr/StaticProperty.html#ALLOWS_ONE_OR_MORE"><CODE>StaticProperty.ALLOWS_ONE_OR_MORE</CODE></A>,
 <A HREF="../../../../net/sf/saxon/expr/StaticProperty.html#ALLOWS_ZERO_OR_MORE"><CODE>StaticProperty.ALLOWS_ZERO_OR_MORE</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="explainExtraAttribute(net.sf.saxon.trace.ExpressionPresenter)"><!-- --></A><H3>
explainExtraAttribute</H3>
<PRE>
protected void <B>explainExtraAttribute</B>(<A HREF="../../../../net/sf/saxon/trace/ExpressionPresenter.html" title="class in net.sf.saxon.trace">ExpressionPresenter</A>&nbsp;out)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<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="../../../../net/sf/saxon/expr/UserFunctionCall.html" title="class in net.sf.saxon.expr"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../net/sf/saxon/expr/ValueTailIterator.html" title="class in net.sf.saxon.expr"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?net/sf/saxon/expr/ValueComparison.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ValueComparison.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;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_net.sf.saxon.expr.BinaryExpression">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>