You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vxquery.apache.org by ti...@apache.org on 2012/08/22 06:03:37 UTC

svn commit: r1375889 [5/8] - in /incubator/vxquery/site: ./ vxquery-cli/ vxquery-core/ vxquery-core/jjdoc/ vxquery-xtest/

Modified: incubator/vxquery/site/vxquery-core/rat-report.html
URL: http://svn.apache.org/viewvc/incubator/vxquery/site/vxquery-core/rat-report.html?rev=1375889&r1=1375888&r2=1375889&view=diff
==============================================================================
--- incubator/vxquery/site/vxquery-core/rat-report.html (original)
+++ incubator/vxquery/site/vxquery-core/rat-report.html Wed Aug 22 04:03:36 2012
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Aug 8, 2012 -->
+<!-- Generated by Apache Maven Doxia at Aug 21, 2012 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120808" />
+    <meta name="Date-Revision-yyyymmdd" content="20120821" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -30,7 +30,7 @@
             
         
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2012-08-08</span>
+        <span id="publishDate">Last Published: 2012-08-21</span>
                   &nbsp;| <span id="projectVersion">Version: 0.1-SNAPSHOT</span>
                       </div>
             <div class="xright">        
@@ -92,7 +92,7 @@ Summary
 Notes: 0
 Binaries: 0
 Archives: 1
-Standards: 367
+Standards: 421
 
 Apache Licensed: 191
 Generated Documents: 0
@@ -100,7 +100,7 @@ Generated Documents: 0
 JavaDocs are generated and so license header is optional
 Generated files do not required license headers
 
-176 Unknown Licenses
+230 Unknown Licenses
 
 *******************************
 
@@ -112,6 +112,7 @@ Unapproved licenses:
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryConstantValue.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryExpressionRuntimeProvider.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryGlobalDataFactory.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryNullWriterFactory.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryPrinterFactory.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryPrinterFactoryProvider.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/RewriteRuleset.java
@@ -155,8 +156,10 @@ Unapproved licenses:
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/ElementNodeBuilder.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/PINodeBuilder.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/TextNodeBuilder.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/sequence/SequenceBuilder.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/datamodel/util/DateTime.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/datamodel/values/ValueTag.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/datamodel/values/XDMConstants.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/metadata/QueryResultDataSink.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryMetadataProvider.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/AbstractArithmeticOperation.java
@@ -164,6 +167,10 @@ Unapproved licenses:
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/AddScalarEvaluatorFactory.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/DivideOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/DivideScalarEvaluatorFactory.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/IntegerDivideOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/IntegerDivideScalarEvaluatorFactory.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/ModOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/ModScalarEvaluatorFactory.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/MultiplyOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/MultiplyScalarEvaluatorFactory.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/SubtractOperation.java
@@ -174,13 +181,17 @@ Unapproved licenses:
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentScalarEvaluatorFactory.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentUnnestingEvaluator.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentUnnestingEvaluatorFactory.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/bool/AndScalarEvaluatorFactory.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/bool/FnBooleanScalarEvaluatorFactory.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/bool/FnFalseScalarEvaluatorFactory.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/bool/FnNotScalarEvaluatorFactory.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/bool/FnTrueScalarEvaluatorFactory.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/bool/OrScalarEvaluatorFactory.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/AbstractCastToOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToAnyURIOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToBase64BinaryOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToBooleanOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToByteOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToDateOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToDateTimeOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToDecimalOperation.java
@@ -195,16 +206,28 @@ Unapproved licenses:
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToGYearOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToHexBinaryOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToIntegerOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToIntOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToLongOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToNegativeIntegerOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToNonNegativeIntegerOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToNonPositiveIntegerOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToNotationOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToPositiveIntegerOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToQNameOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToShortOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToStringOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToTimeOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToUnsignedByteOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToUnsignedIntOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToUnsignedLongOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToUnsignedShortOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToUntypedAtomicOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToYMDurationOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/AbstractCastableAsOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsAnyURIOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsBase64BinaryOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsBooleanOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsByteOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDateOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDateTimeOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDecimalOperation.java
@@ -219,10 +242,21 @@ Unapproved licenses:
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGYearOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsHexBinaryOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsIntegerOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsIntOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsLongOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNegativeIntegerOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNonNegativeIntegerOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNonPositiveIntegerOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNotationOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsPositiveIntegerOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsQNameOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsShortOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsStringOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsTimeOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedByteOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedIntOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedLongOperation.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedShortOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUntypedAtomicOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsYMDurationOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/comparison/AbstractDisjunctiveComparisonOperation.java
@@ -241,12 +275,30 @@ Unapproved licenses:
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/comparison/ValueNeComparisonOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/comparison/ValueNeComparisonScalarEvaluatorFactory.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/misc/FnDataScalarEvaluatorFactory.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/AbstractNodeConstructorScalarEvaluator.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/AttributeNodeConstructorScalarEvaluator.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/AttributeNodeConstructorScalarEvaluatorFactory.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/CommentNodeConstructorScalarEvaluator.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/CommentNodeConstructorScalarEvaluatorFactory.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/ElementNodeConstructorScalarEvaluator.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/ElementNodeConstructorScalarEvaluatorFactory.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/FnDocScalarEvaluatorFactory.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/PINodeConstructorScalarEvaluator.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/PINodeConstructorScalarEvaluatorFactory.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/TextNodeConstructorScalarEvaluator.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/TextNodeConstructorScalarEvaluatorFactory.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/nodeid/SortDistinctNodesAscOrAtomicsScalarEvaluatorFactory.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/sequence/ConcatenateScalarEvaluatorFactory.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/sequence/FnEmptyScalarEvaluatorFactory.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/sequence/FnExistsScalarEvaluatorFactory.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/sequence/FnReverseScalarEvaluatorFactory.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/sequence/IterateUnnestingEvaluatorFactory.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/sequence/SequenceAggregateEvaluatorFactory.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/step/AbstractPathStepScalarEvaluator.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/step/AttributePathStepScalarEvaluator.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/step/AttributePathStepScalarEvaluatorFactory.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/step/ChildPathStepScalarEvaluator.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/step/ChildPathStepScalarEvaluatorFactory.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/AbstractCharacterIteratorCopyingEvaluator.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/AbstractCharacterIteratorCopyingEvaluatorFactory.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/AbstractTranscodingCharacterIterator.java
@@ -271,7 +323,9 @@ Unapproved licenses:
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/UpperCaseCharacterIterator.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/UTF8StringCharacterIterator.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/type/AbstractTypeScalarEvaluatorFactory.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/type/InstanceOfScalarEvaluatorFactory.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/type/PromoteScalarEvaluatorFactory.java
+  /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/type/SequenceTypeMatcher.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/type/TreatScalarEvaluatorFactory.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/unary/AbstractNumericUnaryOperation.java
   /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/unary/NumericUnaryMinusOperation.java
@@ -306,6 +360,7 @@ Archives:
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryConstantValue.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryExpressionRuntimeProvider.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryGlobalDataFactory.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryNullWriterFactory.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryPrinterFactory.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryPrinterFactoryProvider.java
   AL    /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/compiler/CompilerControlBlock.java
@@ -360,8 +415,10 @@ Archives:
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/ElementNodeBuilder.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/PINodeBuilder.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/TextNodeBuilder.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/sequence/SequenceBuilder.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/datamodel/util/DateTime.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/datamodel/values/ValueTag.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/datamodel/values/XDMConstants.java
   AL    /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/exceptions/DefaultSystemExceptionFactory.java
   AL    /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/exceptions/ErrorCode.java
   AL    /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/exceptions/ErrorMessages.java
@@ -390,6 +447,10 @@ Archives:
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/AddScalarEvaluatorFactory.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/DivideOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/DivideScalarEvaluatorFactory.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/IntegerDivideOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/IntegerDivideScalarEvaluatorFactory.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/ModOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/ModScalarEvaluatorFactory.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/MultiplyOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/MultiplyScalarEvaluatorFactory.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/SubtractOperation.java
@@ -400,14 +461,18 @@ Archives:
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentScalarEvaluatorFactory.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentUnnestingEvaluator.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentUnnestingEvaluatorFactory.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/bool/AndScalarEvaluatorFactory.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/bool/FnBooleanScalarEvaluatorFactory.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/bool/FnFalseScalarEvaluatorFactory.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/bool/FnNotScalarEvaluatorFactory.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/bool/FnTrueScalarEvaluatorFactory.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/bool/OrScalarEvaluatorFactory.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/AbstractCastToOperation.java
   AL    /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastScalarEvaluatorFactory.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToAnyURIOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToBase64BinaryOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToBooleanOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToByteOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToDateOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToDateTimeOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToDecimalOperation.java
@@ -422,16 +487,28 @@ Archives:
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToGYearOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToHexBinaryOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToIntegerOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToIntOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToLongOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToNegativeIntegerOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToNonNegativeIntegerOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToNonPositiveIntegerOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToNotationOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToPositiveIntegerOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToQNameOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToShortOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToStringOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToTimeOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToUnsignedByteOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToUnsignedIntOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToUnsignedLongOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToUnsignedShortOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToUntypedAtomicOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/cast/CastToYMDurationOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/AbstractCastableAsOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsAnyURIOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsBase64BinaryOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsBooleanOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsByteOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDateOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDateTimeOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDecimalOperation.java
@@ -446,10 +523,21 @@ Archives:
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGYearOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsHexBinaryOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsIntegerOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsIntOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsLongOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNegativeIntegerOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNonNegativeIntegerOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNonPositiveIntegerOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNotationOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsPositiveIntegerOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsQNameOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsShortOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsStringOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsTimeOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedByteOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedIntOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedLongOperation.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedShortOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUntypedAtomicOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsYMDurationOperation.java
   AL    /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableScalarEvaluatorFactory.java
@@ -470,12 +558,30 @@ Archives:
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/comparison/ValueNeComparisonOperation.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/comparison/ValueNeComparisonScalarEvaluatorFactory.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/misc/FnDataScalarEvaluatorFactory.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/AbstractNodeConstructorScalarEvaluator.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/AttributeNodeConstructorScalarEvaluator.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/AttributeNodeConstructorScalarEvaluatorFactory.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/CommentNodeConstructorScalarEvaluator.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/CommentNodeConstructorScalarEvaluatorFactory.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/ElementNodeConstructorScalarEvaluator.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/ElementNodeConstructorScalarEvaluatorFactory.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/FnDocScalarEvaluatorFactory.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/PINodeConstructorScalarEvaluator.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/PINodeConstructorScalarEvaluatorFactory.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/TextNodeConstructorScalarEvaluator.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/node/TextNodeConstructorScalarEvaluatorFactory.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/nodeid/SortDistinctNodesAscOrAtomicsScalarEvaluatorFactory.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/sequence/ConcatenateScalarEvaluatorFactory.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/sequence/FnEmptyScalarEvaluatorFactory.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/sequence/FnExistsScalarEvaluatorFactory.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/sequence/FnReverseScalarEvaluatorFactory.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/sequence/IterateUnnestingEvaluatorFactory.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/sequence/SequenceAggregateEvaluatorFactory.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/step/AbstractPathStepScalarEvaluator.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/step/AttributePathStepScalarEvaluator.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/step/AttributePathStepScalarEvaluatorFactory.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/step/ChildPathStepScalarEvaluator.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/step/ChildPathStepScalarEvaluatorFactory.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/AbstractCharacterIteratorCopyingEvaluator.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/AbstractCharacterIteratorCopyingEvaluatorFactory.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/AbstractTranscodingCharacterIterator.java
@@ -500,7 +606,9 @@ Archives:
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/UpperCaseCharacterIterator.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/UTF8StringCharacterIterator.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/type/AbstractTypeScalarEvaluatorFactory.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/type/InstanceOfScalarEvaluatorFactory.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/type/PromoteScalarEvaluatorFactory.java
+ !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/type/SequenceTypeMatcher.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/type/TreatScalarEvaluatorFactory.java
  !????? /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/unary/AbstractNumericUnaryOperation.java
   AL    /Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/unary/AbstractNumericUnaryScalarEvaluatorFactory.java
@@ -907,6 +1015,41 @@ public class VXQueryGlobalDataFactory im
 }
 
  =======================================================================
+ ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryNullWriterFactory.java
+ =======================================================================
+package org.apache.vxquery.compiler.algebricks;
+
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.vxquery.datamodel.values.XDMConstants;
+
+import edu.uci.ics.hyracks.api.dataflow.value.INullWriter;
+import edu.uci.ics.hyracks.api.dataflow.value.INullWriterFactory;
+import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
+import edu.uci.ics.hyracks.data.std.primitive.VoidPointable;
+
+public class VXQueryNullWriterFactory implements INullWriterFactory {
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public INullWriter createNullWriter() {
+        final VoidPointable vp = (VoidPointable) VoidPointable.FACTORY.createPointable();
+        return new INullWriter() {
+            @Override
+            public void writeNull(DataOutput out) throws HyracksDataException {
+                XDMConstants.setEmptySequence(vp);
+                try {
+                    out.write(vp.getByteArray(), vp.getStartOffset(), vp.getLength());
+                } catch (IOException e) {
+                    throw new HyracksDataException(e);
+                }
+            }
+        };
+    }
+}
+
+ =======================================================================
  ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryPrinterFactory.java
  =======================================================================
 package org.apache.vxquery.compiler.algebricks;
@@ -964,8 +1107,10 @@ import edu.uci.ics.hyracks.algebricks.re
 import edu.uci.ics.hyracks.algebricks.rewriter.rules.ExtractGbyExpressionsRule;
 import edu.uci.ics.hyracks.algebricks.rewriter.rules.FactorRedundantGroupAndDecorVarsRule;
 import edu.uci.ics.hyracks.algebricks.rewriter.rules.InferTypesRule;
+import edu.uci.ics.hyracks.algebricks.rewriter.rules.InlineAssignIntoAggregateRule;
 import edu.uci.ics.hyracks.algebricks.rewriter.rules.InlineVariablesRule;
-import edu.uci.ics.hyracks.algebricks.rewriter.rules.IntroduceGroupByForStandaloneAggregRule;
+import edu.uci.ics.hyracks.algebricks.rewriter.rules.IntroduceAggregateCombinerRule;
+import edu.uci.ics.hyracks.algebricks.rewriter.rules.IntroduceGroupByCombinerRule;
 import edu.uci.ics.hyracks.algebricks.rewriter.rules.IsolateHyracksOperatorsRule;
 import edu.uci.ics.hyracks.algebricks.rewriter.rules.PullSelectOutOfEqJoin;
 import edu.uci.ics.hyracks.algebricks.rewriter.rules.PushLimitDownRule;
@@ -988,7 +1133,6 @@ public class RewriteRuleset {
     public final static List&lt;IAlgebraicRewriteRule&gt; buildNormalizationRuleCollection() {
         List&lt;IAlgebraicRewriteRule&gt; normalization = new LinkedList&lt;IAlgebraicRewriteRule&gt;();
         normalization.add(new EliminateSubplanRule());
-        normalization.add(new IntroduceGroupByForStandaloneAggregRule());
         normalization.add(new BreakSelectIntoConjunctsRule());
         normalization.add(new PushSelectIntoJoinRule());
         normalization.add(new ExtractGbyExpressionsRule());
@@ -996,7 +1140,6 @@ public class RewriteRuleset {
     }
 
     public final static List&lt;IAlgebraicRewriteRule&gt; buildCondPushDownRuleCollection() {
-        List&lt;IAlgebraicRewriteRule&gt; condPushDown = new LinkedList&lt;IAlgebraicRewriteRule&gt;();
 
  =======================================================================
  ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/context/DynamicContextImplFactory.java
@@ -1100,23 +1243,36 @@ public class RootStaticContextFactory im
  =======================================================================
 package org.apache.vxquery.context;
 
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.vxquery.types.SequenceType;
+
 class StaticContextImplFactory implements IStaticContextFactory {
     private static final long serialVersionUID = 1L;
 
     private final IStaticContextFactory parentSCFactory;
 
-    private StaticContextImplFactory(IStaticContextFactory parentSCFactory) {
+    private final List&lt;SequenceType&gt; seqTypes;
+
+    private StaticContextImplFactory(IStaticContextFactory parentSCFactory, List&lt;SequenceType&gt; seqTypes) {
         this.parentSCFactory = parentSCFactory;
+        this.seqTypes = seqTypes;
     }
 
     @Override
     public StaticContext createStaticContext() {
-        return new StaticContextImpl(parentSCFactory.createStaticContext());
+        StaticContextImpl sctx = new StaticContextImpl(parentSCFactory.createStaticContext());
+        for (SequenceType sType : seqTypes) {
+            sctx.encodeSequenceType(sType);
+        }
+        return sctx;
     }
 
     static IStaticContextFactory createInstance(StaticContextImpl staticContextImpl) {
         IStaticContextFactory parentSCFactory = staticContextImpl.getParent().createFactory();
-        return new StaticContextImplFactory(parentSCFactory);
+        return new StaticContextImplFactory(parentSCFactory, new ArrayList&lt;SequenceType&gt;(
+                staticContextImpl.getSequenceTypeList()));
     }
 }
 
@@ -1462,6 +1618,7 @@ import edu.uci.ics.hyracks.data.std.api.
 import edu.uci.ics.hyracks.data.std.api.IPointable;
 import edu.uci.ics.hyracks.data.std.api.IPointableFactory;
 import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;
+import edu.uci.ics.hyracks.data.std.primitive.LongPointable;
 
 public class XSDurationPointable extends AbstractPointable {
     private final static int YEAR_MONTH_OFFSET = 0;
@@ -1477,7 +1634,7 @@ public class XSDurationPointable extends
 
         @Override
         public int getFixedLength() {
-            return 8;
+            return 12;
         }
     };
 
@@ -1503,8 +1660,7 @@ public class XSDurationPointable extends
         return getYearMonth(bytes, start);
     }
 
-    public static int getDayTime(byte[] bytes, int start) {
-        return IntegerPointable.getInteger(bytes, start + DAY_TIME_OFFSET);
+    public static long getDayTime(byte[] bytes, int start) {
 
  =======================================================================
  ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSQNamePointable.java
@@ -1619,7 +1775,6 @@ public class XSTimePointable extends Abs
  =======================================================================
 package org.apache.vxquery.datamodel.accessors.nodes;
 
-import org.apache.vxquery.datamodel.accessors.TaggedValuePointable;
 import org.apache.vxquery.datamodel.accessors.atomic.CodedQNamePointable;
 
 import edu.uci.ics.hyracks.api.dataflow.value.ITypeTraits;
@@ -1667,6 +1822,7 @@ public class AttributeNodePointable exte
 
     public int getLocalNodeId(NodeTreePointable nodeTree) {
         return nodeTree.nodeIdExists() ? IntegerPointable.getInteger(bytes, getLocalNodeIdOffset(nodeTree)) : -1;
+    }
 
  =======================================================================
  ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/DocumentNodePointable.java
@@ -1983,12 +2139,12 @@ public class PointablePool {
 
     private final Map&lt;Class&lt;? extends IPointable&gt;, PointableCache&lt;? extends IPointable&gt;&gt; pcMap;
 
-    public PointablePool() {
+    PointablePool() {
         pfMap = new HashMap&lt;Class&lt;? extends IPointable&gt;, IPointableFactory&gt;();
         pcMap = new HashMap&lt;Class&lt;? extends IPointable&gt;, PointableCache&lt;? extends IPointable&gt;&gt;();
     }
 
-    public &lt;T extends IPointable&gt; void register(Class&lt;T&gt; klass, IPointableFactory factory) {
+    &lt;T extends IPointable&gt; void register(Class&lt;T&gt; klass, IPointableFactory factory) {
         pfMap.put(klass, factory);
         pcMap.put(klass, new PointableCache&lt;T&gt;());
     }
@@ -2257,10 +2413,10 @@ package org.apache.vxquery.datamodel.bui
 
 import java.io.IOException;
 
-import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
+import edu.uci.ics.hyracks.data.std.api.IMutableValueStorage;
 
 public abstract class AbstractNodeBuilder {
-    public abstract void reset(ArrayBackedValueStorage abvs) throws IOException;
+    public abstract void reset(IMutableValueStorage mvs) throws IOException;
 
     public abstract void finish() throws IOException;
 }
@@ -2275,15 +2431,15 @@ import java.io.IOException;
 
 import org.apache.vxquery.datamodel.values.ValueTag;
 
+import edu.uci.ics.hyracks.data.std.api.IMutableValueStorage;
 import edu.uci.ics.hyracks.data.std.api.IValueReference;
-import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
 
 public class AttributeNodeBuilder extends AbstractNodeBuilder {
     private DataOutput out;
 
     @Override
-    public void reset(ArrayBackedValueStorage abvs) throws IOException {
-        out = abvs.getDataOutput();
+    public void reset(IMutableValueStorage mvs) throws IOException {
+        out = mvs.getDataOutput();
         out.write(ValueTag.ATTRIBUTE_NODE_TAG);
     }
 
@@ -2317,8 +2473,34 @@ public class AttributeNodeBuilder extend
  =======================================================================
 package org.apache.vxquery.datamodel.builders.nodes;
 
-public class CommentNodeBuilder {
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.vxquery.datamodel.values.ValueTag;
+
+import edu.uci.ics.hyracks.data.std.api.IMutableValueStorage;
+import edu.uci.ics.hyracks.data.std.api.IValueReference;
+
+public class CommentNodeBuilder extends AbstractNodeBuilder {
+    private DataOutput out;
+
+    @Override
+    public void reset(IMutableValueStorage mvs) throws IOException {
+        out = mvs.getDataOutput();
+        out.write(ValueTag.COMMENT_NODE_TAG);
+    }
+
+    @Override
+    public void finish() throws IOException {
+    }
+
+    public void setLocalNodeId(int localNodeId) throws IOException {
+        out.writeInt(localNodeId);
+    }
 
+    public void setValue(IValueReference value) throws IOException {
+        out.write(value.getByteArray(), value.getStartOffset(), value.getLength());
+    }
 }
 
  =======================================================================
@@ -2386,6 +2568,7 @@ import java.io.IOException;
 import org.apache.vxquery.datamodel.values.ValueTag;
 import org.apache.vxquery.util.GrowableIntArray;
 
+import edu.uci.ics.hyracks.data.std.api.IMutableValueStorage;
 import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
 
 public class DocumentNodeBuilder extends AbstractNodeBuilder {
@@ -2403,8 +2586,8 @@ public class DocumentNodeBuilder extends
     }
 
     @Override
-    public void reset(ArrayBackedValueStorage abvs) throws IOException {
-        out = abvs.getDataOutput();
+    public void reset(IMutableValueStorage mvs) throws IOException {
+        out = mvs.getDataOutput();
         out.write(ValueTag.DOCUMENT_NODE_TAG);
     }
 
@@ -2427,7 +2610,6 @@ public class DocumentNodeBuilder extends
 
     public void endChild(AbstractNodeBuilder nb) throws IOException {
         nb.finish();
-        childrenSlots.append(childrenDataArea.getLength());
 
  =======================================================================
  ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/ElementNodeBuilder.java
@@ -2441,6 +2623,8 @@ import org.apache.vxquery.datamodel.acce
 import org.apache.vxquery.datamodel.values.ValueTag;
 import org.apache.vxquery.util.GrowableIntArray;
 
+import edu.uci.ics.hyracks.data.std.api.IMutableValueStorage;
+import edu.uci.ics.hyracks.data.std.api.IValueReference;
 import edu.uci.ics.hyracks.data.std.primitive.BytePointable;
 import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;
 import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
@@ -2448,13 +2632,13 @@ import edu.uci.ics.hyracks.data.std.util
 public class ElementNodeBuilder extends AbstractNodeBuilder {
     private final GrowableIntArray attrSlots;
 
-    private final ArrayBackedValueStorage attrDataArea;
+    private final IMutableValueStorage attrDataArea;
 
     private final GrowableIntArray childrenSlots;
 
-    private final ArrayBackedValueStorage childrenDataArea;
+    private final IMutableValueStorage childrenDataArea;
 
-    private ArrayBackedValueStorage abvs;
+    private IMutableValueStorage mvs;
 
     private DataOutput out;
 
@@ -2476,20 +2660,48 @@ public class ElementNodeBuilder extends 
     }
 
     @Override
-    public void reset(ArrayBackedValueStorage abvs) throws IOException {
-        this.abvs = abvs;
-        out = abvs.getDataOutput();
+    public void reset(IMutableValueStorage mvs) throws IOException {
+        this.mvs = mvs;
+        out = mvs.getDataOutput();
         out.write(ValueTag.ELEMENT_NODE_TAG);
-        headerOffset = abvs.getLength();
-        out.write(0);
 
  =======================================================================
  ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/PINodeBuilder.java
  =======================================================================
 package org.apache.vxquery.datamodel.builders.nodes;
 
-public class PINodeBuilder {
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.vxquery.datamodel.values.ValueTag;
+
+import edu.uci.ics.hyracks.data.std.api.IMutableValueStorage;
+import edu.uci.ics.hyracks.data.std.api.IValueReference;
+
+public class PINodeBuilder extends AbstractNodeBuilder {
+    private DataOutput out;
+
+    @Override
+    public void reset(IMutableValueStorage mvs) throws IOException {
+        out = mvs.getDataOutput();
+        out.write(ValueTag.PI_NODE_TAG);
+    }
+
+    @Override
+    public void finish() throws IOException {
+    }
+
+    public void setLocalNodeId(int localNodeId) throws IOException {
+        out.writeInt(localNodeId);
+    }
+
+    public void setTarget(IValueReference value) throws IOException {
+        out.write(value.getByteArray(), value.getStartOffset(), value.getLength());
+    }
 
+    public void setContent(IValueReference value) throws IOException {
+        out.write(value.getByteArray(), value.getStartOffset(), value.getLength());
+    }
 }
 
  =======================================================================
@@ -2502,15 +2714,15 @@ import java.io.IOException;
 
 import org.apache.vxquery.datamodel.values.ValueTag;
 
+import edu.uci.ics.hyracks.data.std.api.IMutableValueStorage;
 import edu.uci.ics.hyracks.data.std.api.IValueReference;
-import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
 
 public class TextNodeBuilder extends AbstractNodeBuilder {
     private DataOutput out;
 
     @Override
-    public void reset(ArrayBackedValueStorage abvs) throws IOException {
-        out = abvs.getDataOutput();
+    public void reset(IMutableValueStorage mvs) throws IOException {
+        out = mvs.getDataOutput();
         out.write(ValueTag.TEXT_NODE_TAG);
     }
 
@@ -2528,6 +2740,59 @@ public class TextNodeBuilder extends Abs
 }
 
  =======================================================================
+ ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/sequence/SequenceBuilder.java
+ =======================================================================
+package org.apache.vxquery.datamodel.builders.sequence;
+
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.vxquery.datamodel.values.ValueTag;
+import org.apache.vxquery.util.GrowableIntArray;
+
+import edu.uci.ics.hyracks.data.std.api.IMutableValueStorage;
+import edu.uci.ics.hyracks.data.std.api.IValueReference;
+import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
+
+public class SequenceBuilder {
+    private final GrowableIntArray slots = new GrowableIntArray();
+    private final ArrayBackedValueStorage dataArea = new ArrayBackedValueStorage();
+    private IMutableValueStorage mvs;
+
+    public SequenceBuilder() {
+    }
+
+    public void reset(IMutableValueStorage mvs) {
+        this.mvs = mvs;
+        slots.clear();
+        dataArea.reset();
+    }
+
+    public void addItem(IValueReference p) throws IOException {
+        dataArea.getDataOutput().write(p.getByteArray(), p.getStartOffset(), p.getLength());
+        slots.append(dataArea.getLength());
+    }
+
+    public void finish() throws IOException {
+        DataOutput out = mvs.getDataOutput();
+        if (slots.getSize() != 1) {
+            out.write(ValueTag.SEQUENCE_TAG);
+            int size = slots.getSize();
+            out.writeInt(size);
+            if (size &gt; 0) {
+                int[] slotArray = slots.getArray();
+                for (int i = 0; i &lt; size; ++i) {
+                    out.writeInt(slotArray[i]);
+                }
+                out.write(dataArea.getByteArray(), dataArea.getStartOffset(), dataArea.getLength());
+            }
+        } else {
+            out.write(dataArea.getByteArray(), dataArea.getStartOffset(), dataArea.getLength());
+        }
+    }
+}
+
+ =======================================================================
  ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/datamodel/util/DateTime.java
  =======================================================================
 package org.apache.vxquery.datamodel.util;
@@ -2636,6 +2901,60 @@ public class ValueTag {
     public static final int XS_BOOLEAN_TAG = BuiltinTypeConstants.XS_BOOLEAN_TYPE_ID;
 
  =======================================================================
+ ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/datamodel/values/XDMConstants.java
+ =======================================================================
+package org.apache.vxquery.datamodel.values;
+
+import java.io.IOException;
+import java.util.Arrays;
+
+import org.apache.vxquery.datamodel.builders.sequence.SequenceBuilder;
+
+import edu.uci.ics.hyracks.data.std.api.IPointable;
+import edu.uci.ics.hyracks.data.std.primitive.BooleanPointable;
+import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
+
+public class XDMConstants {
+    private static final byte[] BOOLEAN_TRUE_CONSTANT;
+
+    private static final byte[] BOOLEAN_FALSE_CONSTANT;
+
+    private static final byte[] EMPTY_SEQUENCE;
+
+    static {
+        BOOLEAN_TRUE_CONSTANT = new byte[2];
+        BOOLEAN_TRUE_CONSTANT[0] = ValueTag.XS_BOOLEAN_TAG;
+        BooleanPointable.setBoolean(BOOLEAN_TRUE_CONSTANT, 1, true);
+
+        BOOLEAN_FALSE_CONSTANT = new byte[2];
+        BOOLEAN_FALSE_CONSTANT[0] = ValueTag.XS_BOOLEAN_TAG;
+        BooleanPointable.setBoolean(BOOLEAN_FALSE_CONSTANT, 1, false);
+
+        ArrayBackedValueStorage abvs = new ArrayBackedValueStorage();
+        SequenceBuilder sb = new SequenceBuilder();
+        sb.reset(abvs);
+        try {
+            sb.finish();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+        EMPTY_SEQUENCE = Arrays.copyOf(abvs.getByteArray(), abvs.getLength());
+    }
+
+    public static void setTrue(IPointable p) {
+        set(p, BOOLEAN_TRUE_CONSTANT);
+    }
+
+    public static void setFalse(IPointable p) {
+        set(p, BOOLEAN_FALSE_CONSTANT);
+    }
+
+    public static void setEmptySequence(IPointable p) {
+        set(p, EMPTY_SEQUENCE);
+    }
+
+
+ =======================================================================
  ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/metadata/QueryResultDataSink.java
  =======================================================================
 package org.apache.vxquery.metadata;
@@ -2753,13 +3072,13 @@ public abstract class AbstractArithmetic
     public abstract void operateDateDate(XSDatePointable datep1, XSDatePointable datep2, DynamicContext dCtx,
             DataOutput dOut) throws SystemException, IOException;
 
-    public abstract void operateDateDTDuration(XSDatePointable datep1, IntegerPointable intp2, DataOutput dOut)
+    public abstract void operateDateDTDuration(XSDatePointable datep1, LongPointable longp2, DataOutput dOut)
             throws SystemException, IOException;
 
     public abstract void operateDatetimeDatetime(XSDateTimePointable datetimep1, XSDateTimePointable datetimep2,
             DynamicContext dCtx, DataOutput dOut) throws SystemException, IOException;
 
-    public abstract void operateDatetimeDTDuration(XSDateTimePointable datetimep1, IntegerPointable intp2, DataOutput dOut)
+    public abstract void operateDatetimeDTDuration(XSDateTimePointable datetimep1, LongPointable longp2, DataOutput dOut)
             throws SystemException, IOException;
 
     public abstract void operateDatetimeYMDuration(XSDateTimePointable datetimep1, IntegerPointable intp2, DataOutput dOut)
@@ -2774,7 +3093,7 @@ public abstract class AbstractArithmetic
     public abstract void operateDecimalDouble(XSDecimalPointable decp1, DoublePointable doublep2, DataOutput dOut)
             throws SystemException, IOException;
 
-    public abstract void operateDecimalDTDuration(XSDecimalPointable decp1, IntegerPointable intp2, DataOutput dOut)
+    public abstract void operateDecimalDTDuration(XSDecimalPointable decp1, LongPointable longp2, DataOutput dOut)
             throws SystemException, IOException;
 
     public abstract void operateDecimalFloat(XSDecimalPointable decp1, FloatPointable floatp2, DataOutput dOut)
@@ -2818,11 +3137,11 @@ public class AddOperation extends Abstra
     }
 
     @Override
-    public void operateDateDTDuration(XSDatePointable datep, IntegerPointable intp, DataOutput dOut)
+    public void operateDateDTDuration(XSDatePointable datep1, LongPointable longp2, DataOutput dOut)
             throws SystemException, IOException {
         abvsInner.reset();
         // Add duration.
-        DateTime.normalizeDateTime(datep.getYearMonth(), datep.getDayTime() + intp.getInteger(), dOutInner);
+        DateTime.normalizeDateTime(datep1.getYearMonth(), datep1.getDayTime() + longp2.getLong(), dOutInner);
         byte[] bytes = abvsInner.getByteArray();
         // Convert to date.
         bytes[XSDatePointable.TIMEZONE_HOUR_OFFSET] = bytes[XSDateTimePointable.TIMEZONE_HOUR_OFFSET];
@@ -2873,13 +3192,17 @@ import org.apache.vxquery.datamodel.acce
 import org.apache.vxquery.datamodel.values.ValueTag;
 import org.apache.vxquery.exceptions.ErrorCode;
 import org.apache.vxquery.exceptions.SystemException;
+import org.apache.vxquery.runtime.functions.cast.CastToDecimalOperation;
 
 import edu.uci.ics.hyracks.data.std.primitive.DoublePointable;
 import edu.uci.ics.hyracks.data.std.primitive.FloatPointable;
 import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;
 import edu.uci.ics.hyracks.data.std.primitive.LongPointable;
+import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
 
 public class DivideOperation extends AbstractArithmeticOperation {
+    protected final ArrayBackedValueStorage abvsInner = new ArrayBackedValueStorage();
+
     @Override
     public void operateDateDate(XSDatePointable datep, XSDatePointable datep2, DynamicContext dCtx, DataOutput dOut)
             throws SystemException, IOException {
@@ -2887,7 +3210,7 @@ public class DivideOperation extends Abs
     }
 
     @Override
-    public void operateDateDTDuration(XSDatePointable datep, IntegerPointable intp, DataOutput dOut)
+    public void operateDateDTDuration(XSDatePointable datep, LongPointable longp, DataOutput dOut)
             throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
@@ -2899,17 +3222,13 @@ public class DivideOperation extends Abs
     }
 
     @Override
-    public void operateDatetimeDTDuration(XSDateTimePointable datetimep, IntegerPointable intp, DataOutput dOut)
+    public void operateDatetimeDTDuration(XSDateTimePointable datetimep, LongPointable longp, DataOutput dOut)
             throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
     public void operateDatetimeYMDuration(XSDateTimePointable datetimep, IntegerPointable intp, DataOutput dOut)
-            throws SystemException, IOException {
-        throw new UnsupportedOperationException();
-    }
-
 
  =======================================================================
  ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/DivideScalarEvaluatorFactory.java
@@ -2932,7 +3251,7 @@ public class DivideScalarEvaluatorFactor
 }
 
  =======================================================================
- ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/MultiplyOperation.java
+ ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/IntegerDivideOperation.java
  =======================================================================
 package org.apache.vxquery.runtime.functions.arithmetic;
 
@@ -2952,8 +3271,11 @@ import edu.uci.ics.hyracks.data.std.prim
 import edu.uci.ics.hyracks.data.std.primitive.FloatPointable;
 import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;
 import edu.uci.ics.hyracks.data.std.primitive.LongPointable;
+import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
+
+public class IntegerDivideOperation extends AbstractArithmeticOperation {
+    protected final ArrayBackedValueStorage abvsInner = new ArrayBackedValueStorage();
 
-public class MultiplyOperation extends AbstractArithmeticOperation {
     @Override
     public void operateDateDate(XSDatePointable datep, XSDatePointable datep2, DynamicContext dCtx, DataOutput dOut)
             throws SystemException, IOException {
@@ -2961,7 +3283,7 @@ public class MultiplyOperation extends A
     }
 
     @Override
-    public void operateDateDTDuration(XSDatePointable datep, IntegerPointable intp, DataOutput dOut)
+    public void operateDateDTDuration(XSDatePointable datep, LongPointable longp, DataOutput dOut)
             throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
@@ -2973,7 +3295,7 @@ public class MultiplyOperation extends A
     }
 
     @Override
-    public void operateDatetimeDTDuration(XSDateTimePointable datetimep, IntegerPointable intp, DataOutput dOut)
+    public void operateDatetimeDTDuration(XSDateTimePointable datetimep, LongPointable longp, DataOutput dOut)
             throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
@@ -2981,32 +3303,29 @@ public class MultiplyOperation extends A
     @Override
     public void operateDatetimeYMDuration(XSDateTimePointable datetimep, IntegerPointable intp, DataOutput dOut)
             throws SystemException, IOException {
-        throw new UnsupportedOperationException();
-    }
-
 
  =======================================================================
- ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/MultiplyScalarEvaluatorFactory.java
+ ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/IntegerDivideScalarEvaluatorFactory.java
  =======================================================================
 package org.apache.vxquery.runtime.functions.arithmetic;
 
 import edu.uci.ics.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
 
-public class MultiplyScalarEvaluatorFactory extends AbstractArithmeticScalarEvaluatorFactory {
+public class IntegerDivideScalarEvaluatorFactory extends AbstractArithmeticScalarEvaluatorFactory {
     private static final long serialVersionUID = 1L;
 
-    public MultiplyScalarEvaluatorFactory(IScalarEvaluatorFactory[] args) {
+    public IntegerDivideScalarEvaluatorFactory(IScalarEvaluatorFactory[] args) {
         super(args);
     }
 
     @Override
     protected AbstractArithmeticOperation createArithmeticOperation() {
-        return new MultiplyOperation();
+        return new IntegerDivideOperation();
     }
 }
 
  =======================================================================
- ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/SubtractOperation.java
+ ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/ModOperation.java
  =======================================================================
 package org.apache.vxquery.runtime.functions.arithmetic;
 
@@ -3018,7 +3337,6 @@ import org.apache.vxquery.datamodel.acce
 import org.apache.vxquery.datamodel.accessors.atomic.XSDateTimePointable;
 import org.apache.vxquery.datamodel.accessors.atomic.XSDecimalPointable;
 import org.apache.vxquery.datamodel.accessors.atomic.XSTimePointable;
-import org.apache.vxquery.datamodel.util.DateTime;
 import org.apache.vxquery.datamodel.values.ValueTag;
 import org.apache.vxquery.exceptions.ErrorCode;
 import org.apache.vxquery.exceptions.SystemException;
@@ -3029,90 +3347,239 @@ import edu.uci.ics.hyracks.data.std.prim
 import edu.uci.ics.hyracks.data.std.primitive.LongPointable;
 import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
 
-public class SubtractOperation extends AbstractArithmeticOperation {
-    protected final ArrayBackedValueStorage abvs = new ArrayBackedValueStorage();
-    protected final DataOutput dataOutput = abvs.getDataOutput();
+public class ModOperation extends AbstractArithmeticOperation {
+    protected final ArrayBackedValueStorage abvsInner = new ArrayBackedValueStorage();
 
-    public void operateDateDate(XSDatePointable datep1, XSDatePointable datep2, DynamicContext dCtx, DataOutput dOut)
+    @Override
+    public void operateDateDate(XSDatePointable datep, XSDatePointable datep2, DynamicContext dCtx, DataOutput dOut)
             throws SystemException, IOException {
-        abvs.reset();
-        DateTime.getTimezoneDateTime(datep1, dCtx, dataOutput);
-        XSDateTimePointable datetimep1 = new XSDateTimePointable();
-        datetimep1.set(abvs.getByteArray(), 0, abvs.getLength());
+        throw new UnsupportedOperationException();
+    }
 
-        abvs.reset();
-        DateTime.getTimezoneDateTime(datep2, dCtx, dataOutput);
-        XSDateTimePointable datetimep2 = new XSDateTimePointable();
-        datetimep1.set(abvs.getByteArray(), 0, abvs.getLength());
+    @Override
+    public void operateDateDTDuration(XSDatePointable datep, LongPointable longp, DataOutput dOut)
+            throws SystemException, IOException {
+        throw new UnsupportedOperationException();
+    }
 
-        operateDatetimeDatetime(datetimep1, datetimep2, dCtx, dOut);
+    @Override
+    public void operateDatetimeDatetime(XSDateTimePointable datetimep, XSDateTimePointable datetimep2,
+            DynamicContext dCtx, DataOutput dOut) throws SystemException, IOException {
+        throw new UnsupportedOperationException();
     }
 
     @Override
-    public void operateDateDTDuration(XSDatePointable datep1, IntegerPointable intp2, DataOutput dOut)
+    public void operateDatetimeDTDuration(XSDateTimePointable datetimep, LongPointable longp, DataOutput dOut)
+            throws SystemException, IOException {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void operateDatetimeYMDuration(XSDateTimePointable datetimep, IntegerPointable intp, DataOutput dOut)
             throws SystemException, IOException {
-        // Add duration.
-        abvs.reset();
-        DateTime.normalizeDateTime(datep1.getYearMonth(), datep1.getDayTime() - intp2.getInteger(), dataOutput);
-        byte[] bytes = abvs.getByteArray();
-        // Convert to date.
-        bytes[XSDatePointable.TIMEZONE_HOUR_OFFSET] = bytes[XSDateTimePointable.TIMEZONE_HOUR_OFFSET];
-        bytes[XSDatePointable.TIMEZONE_MINUTE_OFFSET] = bytes[XSDateTimePointable.TIMEZONE_MINUTE_OFFSET];
 
  =======================================================================
- ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/SubtractScalarEvaluatorFactory.java
+ ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/ModScalarEvaluatorFactory.java
  =======================================================================
 package org.apache.vxquery.runtime.functions.arithmetic;
 
 import edu.uci.ics.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
 
-public class SubtractScalarEvaluatorFactory extends AbstractArithmeticScalarEvaluatorFactory {
+public class ModScalarEvaluatorFactory extends AbstractArithmeticScalarEvaluatorFactory {
     private static final long serialVersionUID = 1L;
 
-    public SubtractScalarEvaluatorFactory(IScalarEvaluatorFactory[] args) {
+    public ModScalarEvaluatorFactory(IScalarEvaluatorFactory[] args) {
         super(args);
     }
 
     @Override
     protected AbstractArithmeticOperation createArithmeticOperation() {
-        return new SubtractOperation();
+        return new ModOperation();
     }
 }
 
  =======================================================================
- ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentAggregateEvaluator.java
+ ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/MultiplyOperation.java
  =======================================================================
-package org.apache.vxquery.runtime.functions.base;
+package org.apache.vxquery.runtime.functions.arithmetic;
 
-import org.apache.vxquery.datamodel.accessors.TaggedValuePointable;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.vxquery.context.DynamicContext;
+import org.apache.vxquery.datamodel.accessors.atomic.XSDatePointable;
+import org.apache.vxquery.datamodel.accessors.atomic.XSDateTimePointable;
+import org.apache.vxquery.datamodel.accessors.atomic.XSDecimalPointable;
+import org.apache.vxquery.datamodel.accessors.atomic.XSTimePointable;
+import org.apache.vxquery.datamodel.values.ValueTag;
+import org.apache.vxquery.exceptions.ErrorCode;
 import org.apache.vxquery.exceptions.SystemException;
 
-import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
-import edu.uci.ics.hyracks.algebricks.runtime.base.IAggregateEvaluator;
-import edu.uci.ics.hyracks.algebricks.runtime.base.IScalarEvaluator;
-import edu.uci.ics.hyracks.dataflow.common.data.accessors.IFrameTupleReference;
+import edu.uci.ics.hyracks.data.std.primitive.DoublePointable;
+import edu.uci.ics.hyracks.data.std.primitive.FloatPointable;
+import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;
+import edu.uci.ics.hyracks.data.std.primitive.LongPointable;
+import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
 
-public abstract class AbstractTaggedValueArgumentAggregateEvaluator implements IAggregateEvaluator {
-    private final IScalarEvaluator[] args;
+public class MultiplyOperation extends AbstractArithmeticOperation {
+    protected final ArrayBackedValueStorage abvsInner = new ArrayBackedValueStorage();
 
-    private final TaggedValuePointable[] tvps;
+    @Override
+    public void operateDateDate(XSDatePointable datep, XSDatePointable datep2, DynamicContext dCtx, DataOutput dOut)
+            throws SystemException, IOException {
+        throw new UnsupportedOperationException();
+    }
 
-    public AbstractTaggedValueArgumentAggregateEvaluator(IScalarEvaluator[] args) {
-        this.args = args;
-        tvps = new TaggedValuePointable[args.length];
-        for (int i = 0; i &lt; tvps.length; ++i) {
-            tvps[i] = new TaggedValuePointable();
-        }
+    @Override
+    public void operateDateDTDuration(XSDatePointable datep, LongPointable longp, DataOutput dOut)
+            throws SystemException, IOException {
+        throw new UnsupportedOperationException();
     }
 
     @Override
-    public void step(IFrameTupleReference tuple) throws AlgebricksException {
-        for (int i = 0; i &lt; args.length; ++i) {
-            args[i].evaluate(tuple, tvps[i]);
-        }
-        try {
-            step(tvps);
-        } catch (SystemException e) {
+    public void operateDatetimeDatetime(XSDateTimePointable datetimep, XSDateTimePointable datetimep2,
+            DynamicContext dCtx, DataOutput dOut) throws SystemException, IOException {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void operateDatetimeDTDuration(XSDateTimePointable datetimep, LongPointable longp, DataOutput dOut)
+            throws SystemException, IOException {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void operateDatetimeYMDuration(XSDateTimePointable datetimep, IntegerPointable intp, DataOutput dOut)
+            throws SystemException, IOException {
+
+ =======================================================================
+ ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/MultiplyScalarEvaluatorFactory.java
+ =======================================================================
+package org.apache.vxquery.runtime.functions.arithmetic;
+
+import edu.uci.ics.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
+
+public class MultiplyScalarEvaluatorFactory extends AbstractArithmeticScalarEvaluatorFactory {
+    private static final long serialVersionUID = 1L;
+
+    public MultiplyScalarEvaluatorFactory(IScalarEvaluatorFactory[] args) {
+        super(args);
+    }
+
+    @Override
+    protected AbstractArithmeticOperation createArithmeticOperation() {
+        return new MultiplyOperation();
+    }
+}
+
+ =======================================================================
+ ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/SubtractOperation.java
+ =======================================================================
+package org.apache.vxquery.runtime.functions.arithmetic;
+
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.vxquery.context.DynamicContext;
+import org.apache.vxquery.datamodel.accessors.atomic.XSDatePointable;
+import org.apache.vxquery.datamodel.accessors.atomic.XSDateTimePointable;
+import org.apache.vxquery.datamodel.accessors.atomic.XSDecimalPointable;
+import org.apache.vxquery.datamodel.accessors.atomic.XSTimePointable;
+import org.apache.vxquery.datamodel.util.DateTime;
+import org.apache.vxquery.datamodel.values.ValueTag;
+import org.apache.vxquery.exceptions.ErrorCode;
+import org.apache.vxquery.exceptions.SystemException;
+
+import edu.uci.ics.hyracks.data.std.primitive.DoublePointable;
+import edu.uci.ics.hyracks.data.std.primitive.FloatPointable;
+import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;
+import edu.uci.ics.hyracks.data.std.primitive.LongPointable;
+import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
+
+public class SubtractOperation extends AbstractArithmeticOperation {
+    protected final ArrayBackedValueStorage abvsInner1 = new ArrayBackedValueStorage();
+    protected final DataOutput dOutInner1 = abvsInner1.getDataOutput();
+    protected final ArrayBackedValueStorage abvsInner2 = new ArrayBackedValueStorage();
+    protected final DataOutput dOutInner2 = abvsInner2.getDataOutput();
+
+    public void operateDateDate(XSDatePointable datep1, XSDatePointable datep2, DynamicContext dCtx, DataOutput dOut)
+            throws SystemException, IOException {
+        abvsInner1.reset();
+        DateTime.getTimezoneDateTime(datep1, dCtx, dOutInner1);
+        XSDateTimePointable datetimep1 = new XSDateTimePointable();
+        datetimep1.set(abvsInner1.getByteArray(), abvsInner1.getStartOffset(), abvsInner1.getLength());
+
+        abvsInner2.reset();
+        DateTime.getTimezoneDateTime(datep2, dCtx, dOutInner2);
+        XSDateTimePointable datetimep2 = new XSDateTimePointable();
+        datetimep2.set(abvsInner2.getByteArray(), abvsInner2.getStartOffset(), abvsInner2.getLength());
+
+        operateDatetimeDatetime(datetimep1, datetimep2, dCtx, dOut);
+    }
+
+    @Override
+    public void operateDateDTDuration(XSDatePointable datep1, LongPointable longp2, DataOutput dOut)
+            throws SystemException, IOException {
+        // Add duration.
+        abvsInner1.reset();
+        DateTime.normalizeDateTime(datep1.getYearMonth(), datep1.getDayTime() - longp2.getLong(), dOutInner1);
+        byte[] bytes = abvsInner1.getByteArray();
+        // Convert to date.
+
+ =======================================================================
+ ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/SubtractScalarEvaluatorFactory.java
+ =======================================================================
+package org.apache.vxquery.runtime.functions.arithmetic;
+
+import edu.uci.ics.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
+
+public class SubtractScalarEvaluatorFactory extends AbstractArithmeticScalarEvaluatorFactory {
+    private static final long serialVersionUID = 1L;
+
+    public SubtractScalarEvaluatorFactory(IScalarEvaluatorFactory[] args) {
+        super(args);
+    }
+
+    @Override
+    protected AbstractArithmeticOperation createArithmeticOperation() {
+        return new SubtractOperation();
+    }
+}
+
+ =======================================================================
+ ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentAggregateEvaluator.java
+ =======================================================================
+package org.apache.vxquery.runtime.functions.base;
+
+import org.apache.vxquery.datamodel.accessors.TaggedValuePointable;
+import org.apache.vxquery.exceptions.SystemException;
+
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
+import edu.uci.ics.hyracks.algebricks.runtime.base.IAggregateEvaluator;
+import edu.uci.ics.hyracks.algebricks.runtime.base.IScalarEvaluator;
+import edu.uci.ics.hyracks.dataflow.common.data.accessors.IFrameTupleReference;
+
+public abstract class AbstractTaggedValueArgumentAggregateEvaluator implements IAggregateEvaluator {
+    private final IScalarEvaluator[] args;
+
+    private final TaggedValuePointable[] tvps;
+
+    public AbstractTaggedValueArgumentAggregateEvaluator(IScalarEvaluator[] args) {
+        this.args = args;
+        tvps = new TaggedValuePointable[args.length];
+        for (int i = 0; i &lt; tvps.length; ++i) {
+            tvps[i] = new TaggedValuePointable();
+        }
+    }
+
+    @Override
+    public void step(IFrameTupleReference tuple) throws AlgebricksException {
+        for (int i = 0; i &lt; args.length; ++i) {
+            args[i].evaluate(tuple, tvps[i]);
+        }
+        try {
+            step(tvps);
+        } catch (SystemException e) {
             throw new AlgebricksException(e);
         }
     }
@@ -3296,13 +3763,61 @@ public abstract class AbstractTaggedValu
 }
 
  =======================================================================
+ ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/bool/AndScalarEvaluatorFactory.java
+ =======================================================================
+package org.apache.vxquery.runtime.functions.bool;
+
+import org.apache.vxquery.datamodel.accessors.TaggedValuePointable;
+import org.apache.vxquery.datamodel.values.XDMConstants;
+import org.apache.vxquery.exceptions.SystemException;
+import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentScalarEvaluator;
+import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentScalarEvaluatorFactory;
+
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
+import edu.uci.ics.hyracks.algebricks.runtime.base.IScalarEvaluator;
+import edu.uci.ics.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
+import edu.uci.ics.hyracks.api.context.IHyracksTaskContext;
+import edu.uci.ics.hyracks.data.std.api.IPointable;
+import edu.uci.ics.hyracks.data.std.primitive.BooleanPointable;
+
+public class AndScalarEvaluatorFactory extends AbstractTaggedValueArgumentScalarEvaluatorFactory {
+    private static final long serialVersionUID = 1L;
+
+    public AndScalarEvaluatorFactory(IScalarEvaluatorFactory[] args) {
+        super(args);
+    }
+
+    @Override
+    protected IScalarEvaluator createEvaluator(IHyracksTaskContext ctx, IScalarEvaluator[] args)
+            throws AlgebricksException {
+        return new AbstractTaggedValueArgumentScalarEvaluator(args) {
+            private final BooleanPointable bp = (BooleanPointable) BooleanPointable.FACTORY.createPointable();
+
+            @Override
+            protected void evaluate(TaggedValuePointable[] args, IPointable result) throws SystemException {
+                for (TaggedValuePointable arg : args) {
+                    arg.getValue(bp);
+                    if (!bp.getBoolean()) {
+                        XDMConstants.setFalse(result);
+                        return;
+                    }
+                }
+                XDMConstants.setTrue(result);
+            }
+        };
+    }
+}
+
+ =======================================================================
  ==/Users/tillw/code/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/bool/FnBooleanScalarEvaluatorFactory.java
  =======================================================================
 package org.apache.vxquery.runtime.functions.bool;
 
 import org.apache.vxquery.datamodel.accessors.SequencePointable;
 import org.apache.vxquery.datamodel.accessors.TaggedValuePointable;
+import org.apache.vxquery.datamodel.accessors.atomic.XSDecimalPointable;
 import org.apache.vxquery.datamodel.values.ValueTag;
+import org.apache.vxquery.datamodel.values.XDMConstants;
 import org.apache.vxquery.exceptions.ErrorCode;
 import org.apache.vxquery.exceptions.SystemException;
 import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentScalarEvaluator;
@@ -3313,8 +3828,12 @@ import edu.uci.ics.hyracks.algebricks.ru
 import edu.uci.ics.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
 import edu.uci.ics.hyracks.api.context.IHyracksTaskContext;
 import edu.uci.ics.hyracks.data.std.api.IPointable;
+import edu.uci.ics.hyracks.data.std.primitive.BytePointable;
+import edu.uci.ics.hyracks.data.std.primitive.DoublePointable;
+import edu.uci.ics.hyracks.data.std.primitive.FloatPointable;
 import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;
 import edu.uci.ics.hyracks.data.std.primitive.LongPointable;
+import edu.uci.ics.hyracks.data.std.primitive.ShortPointable;
 import edu.uci.ics.hyracks.data.std.primitive.UTF8StringPointable;
 

[... 2762 lines stripped ...]