public class DeepEqual extends CollatingFunction implements CallableExpression
Modifier and Type | Field and Description |
---|---|
static int |
COMPARE_ANNOTATIONS
Flag indicating that elements and attributes must have the same type annotation to be considered
deep-equal
|
static int |
COMPARE_ID_FLAGS
Flag indicating that the is-id and is-idref flags are to be compared
|
static int |
COMPARE_STRING_VALUES
Flag indicating that elements and attributes should always be compared according to their string
value, not their typed value
|
static int |
EXCLUDE_WHITESPACE_TEXT_NODES
Flag indicating that whitespace text nodes are ignored when comparing element nodes
|
static int |
INCLUDE_COMMENTS
Flag indicating that comment children are taken into account when comparing element or document nodes
|
static int |
INCLUDE_NAMESPACES
Flag indicating that two elements should only be considered equal if they have the same
in-scope namespaces
|
static int |
INCLUDE_PREFIXES
Flag indicating that two element or attribute nodes are considered equal only if their
names use the same namespace prefix
|
static int |
INCLUDE_PROCESSING_INSTRUCTIONS
Flag indicating that processing instruction nodes are taken into account when comparing element or document nodes
|
static int |
JOIN_ADJACENT_TEXT_NODES
Flag indicating that adjacent text nodes in the top-level sequence are to be merged
|
static int |
WARNING_IF_FALSE
Flag indicating that a warning message explaining the reason why the sequences were deemed non-equal
should be sent to the ErrorListener
|
stringCollator
operation
argument
EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, EVENT_FEED_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, PROCESS_METHOD, PUSH_SELECTION, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, WATCH_METHOD
Constructor and Description |
---|
DeepEqual() |
Modifier and Type | Method and Description |
---|---|
SequenceIterator<BooleanValue> |
call(SequenceIterator[] arguments,
XPathContext context)
Evaluate the expression
|
static boolean |
deepEquals(SequenceIterator op1,
SequenceIterator op2,
GenericAtomicComparer collator,
Configuration config,
int flags)
Determine when two sequences are deep-equal
|
Item |
evaluateItem(XPathContext context)
Evaluate the expression
|
Expression |
preEvaluate(ExpressionVisitor visitor)
preEvaluate: if all arguments are known statically, evaluate early
|
checkArguments, copy, equals, expandCollationURI, getAbsoluteCollationURI, getAtomicComparer, getCollator, getExpressionBaseURI, getStringCollator
addContextDocumentArgument, addDocToPathMap, computeCardinality, computeSpecialProperties, getDetails, getErrorCodeForTypeErrors, getImplementationMethod, getItemType, getOperation, getRequiredType, makeSystemFunction, optimize, setDetails, useContextItemAsDefault
addExternalFunctionCallToPathMap, checkArgumentCount, explain, getArguments, getDisplayName, getExpressionName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, promote, replaceSubExpression, setArguments, setFunctionName, simplify, simplifyArguments, toString, typeCheck
addToPathMap, adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getColumnNumber, getConstructType, getContainer, getDependencies, getEvaluationMethod, getExecutable, getHostLanguage, getIntegerBounds, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasLoopingSubexpression, hasVariableBinding, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterate, iterateEvents, iterateSameFocusSubExpressions, markTailFunctionCalls, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, typeError
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getArguments
public static final int INCLUDE_NAMESPACES
public static final int INCLUDE_PREFIXES
public static final int INCLUDE_COMMENTS
public static final int INCLUDE_PROCESSING_INSTRUCTIONS
public static final int EXCLUDE_WHITESPACE_TEXT_NODES
public static final int COMPARE_STRING_VALUES
public static final int COMPARE_ANNOTATIONS
public static final int WARNING_IF_FALSE
public static final int JOIN_ADJACENT_TEXT_NODES
public static final int COMPARE_ID_FLAGS
public Expression preEvaluate(ExpressionVisitor visitor) throws XPathException
preEvaluate
in class FunctionCall
visitor
- an expression visitorXPathException
- if evaluation failspublic Item evaluateItem(XPathContext context) throws XPathException
evaluateItem
in class Expression
context
- The context in which the expression is to be evaluatedXPathException
- if any dynamic error occurs evaluating the
expressionpublic static boolean deepEquals(SequenceIterator op1, SequenceIterator op2, GenericAtomicComparer collator, Configuration config, int flags) throws XPathException
op1
- the first sequenceop2
- the second sequencecollator
- the collator to be usedconfig
- the configuration (gives access to the NamePool)flags
- bit-significant integer giving comparison options. Always zero for standard
F+O deep-equals comparison.XPathException
- if either sequence contains a function itempublic SequenceIterator<BooleanValue> call(SequenceIterator[] arguments, XPathContext context) throws XPathException
CallableExpression
call
in interface CallableExpression
arguments
- the values of the arguments, supplied as SequenceIteratorscontext
- the dynamic evaluation contextXPathException
- if a dynamic error occurs during the evaluation of the expression