You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vxquery.apache.org by vi...@apache.org on 2012/06/11 12:50:53 UTC

svn commit: r1348792 [2/2] - in /incubator/vxquery/branches/vxquery_algebricks: ./ vxquery-cli/ vxquery-cli/src/ vxquery-cli/src/main/ vxquery-cli/src/main/java/ vxquery-cli/src/main/java/org/ vxquery-cli/src/main/java/org/apache/ vxquery-cli/src/main/...

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AbstractNodeType.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AbstractNodeType.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AbstractNodeType.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AbstractNodeType.java Mon Jun 11 10:50:49 2012
@@ -16,17 +16,9 @@
 */
 package org.apache.vxquery.types;
 
-import org.apache.vxquery.types.processors.CastProcessor;
-import org.apache.vxquery.types.processors.NotCastableCastProcessor;
-
 abstract class AbstractNodeType implements NodeType {
     @Override
     public final boolean isAtomicType() {
         return false;
     }
-
-    @Override
-    public final CastProcessor getCastProcessor(XQType inputBaseType) {
-        return NotCastableCastProcessor.INSTANCE_XPST0051;
-    }
 }
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AnyItemType.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AnyItemType.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AnyItemType.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AnyItemType.java Mon Jun 11 10:50:49 2012
@@ -16,22 +16,9 @@
  */
 package org.apache.vxquery.types;
 
-import org.apache.vxquery.exceptions.SystemException;
-import org.apache.vxquery.types.processors.CastProcessor;
-import org.apache.vxquery.types.processors.NotCastableCastProcessor;
-import org.apache.vxquery.util.Filter;
-import org.apache.vxquery.v0datamodel.XDMValue;
-
 public final class AnyItemType implements ItemType {
     public static final AnyItemType INSTANCE = new AnyItemType();
 
-    private static final Filter<XDMValue> INSTANCE_OF_FILTER = new Filter<XDMValue>() {
-        @Override
-        public boolean accept(XDMValue value) throws SystemException {
-            return value != null && value.getDMOKind().isItem();
-        }
-    };
-
     private AnyItemType() {
     }
 
@@ -39,14 +26,4 @@ public final class AnyItemType implement
     public boolean isAtomicType() {
         return false;
     }
-
-    @Override
-    public Filter<XDMValue> createInstanceOfFilter() {
-        return INSTANCE_OF_FILTER;
-    }
-
-    @Override
-    public CastProcessor getCastProcessor(XQType inputBaseType) {
-        return NotCastableCastProcessor.INSTANCE_XPST0051;
-    }
 }
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AnyNodeType.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AnyNodeType.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AnyNodeType.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AnyNodeType.java Mon Jun 11 10:50:49 2012
@@ -16,23 +16,9 @@
  */
 package org.apache.vxquery.types;
 
-import org.apache.vxquery.exceptions.SystemException;
-import org.apache.vxquery.util.Filter;
-import org.apache.vxquery.v0datamodel.XDMValue;
-
 public final class AnyNodeType extends AbstractNodeType {
     public static final AnyNodeType INSTANCE = new AnyNodeType();
 
-    private static final Filter<XDMValue> INSTANCE_OF_FILTER = new Filter<XDMValue>() {
-        @Override
-        public boolean accept(XDMValue value) throws SystemException {
-            if (value == null) {
-                return false;
-            }
-            return value.getDMOKind().isNode();
-        }
-    };
-
     private AnyNodeType() {
     }
 
@@ -40,9 +26,4 @@ public final class AnyNodeType extends A
     public NodeKind getNodeKind() {
         return NodeKind.ANY;
     }
-
-    @Override
-    public Filter<XDMValue> createInstanceOfFilter() {
-        return INSTANCE_OF_FILTER;
-    }
 }
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AnySimpleType.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AnySimpleType.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AnySimpleType.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AnySimpleType.java Mon Jun 11 10:50:49 2012
@@ -16,25 +16,9 @@
  */
 package org.apache.vxquery.types;
 
-import org.apache.vxquery.exceptions.SystemException;
-import org.apache.vxquery.types.processors.CastProcessor;
-import org.apache.vxquery.types.processors.NotCastableCastProcessor;
-import org.apache.vxquery.util.Filter;
-import org.apache.vxquery.v0datamodel.XDMValue;
-
 public final class AnySimpleType implements SimpleType {
     public static final SimpleType INSTANCE = new AnySimpleType();
 
-    private static final Filter<XDMValue> INSTANCE_OF_FILTER = new Filter<XDMValue>() {
-        @Override
-        public boolean accept(XDMValue value) throws SystemException {
-            if (value == null) {
-                return true;
-            }
-            throw new UnsupportedOperationException();
-        }
-    };
-
     private AnySimpleType() {
     }
 
@@ -67,14 +51,4 @@ public final class AnySimpleType impleme
     public boolean isSimpleType() {
         return true;
     }
-
-    @Override
-    public Filter<XDMValue> createInstanceOfFilter() {
-        return INSTANCE_OF_FILTER;
-    }
-
-    @Override
-    public CastProcessor getCastProcessor(XQType inputBaseType) {
-        return NotCastableCastProcessor.INSTANCE_XPST0051;
-    }
 }
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AnyType.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AnyType.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AnyType.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AnyType.java Mon Jun 11 10:50:49 2012
@@ -16,11 +16,6 @@
  */
 package org.apache.vxquery.types;
 
-import org.apache.vxquery.types.processors.CastProcessor;
-import org.apache.vxquery.types.processors.NotCastableCastProcessor;
-import org.apache.vxquery.util.Filter;
-import org.apache.vxquery.v0datamodel.XDMValue;
-
 public final class AnyType implements ComplexType {
     public static final SchemaType INSTANCE = new AnyType();
 
@@ -56,14 +51,4 @@ public final class AnyType implements Co
     public boolean isSimpleType() {
         return false;
     }
-
-    @Override
-    public Filter<XDMValue> createInstanceOfFilter() {
-        return null;
-    }
-
-    @Override
-    public CastProcessor getCastProcessor(XQType inputBaseType) {
-        return NotCastableCastProcessor.INSTANCE_XPST0051;
-    }
 }
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AttributeType.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AttributeType.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AttributeType.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AttributeType.java Mon Jun 11 10:50:49 2012
@@ -16,12 +16,6 @@
  */
 package org.apache.vxquery.types;
 
-import org.apache.vxquery.exceptions.SystemException;
-import org.apache.vxquery.util.Filter;
-import org.apache.vxquery.v0datamodel.DMOKind;
-import org.apache.vxquery.v0datamodel.XDMNode;
-import org.apache.vxquery.v0datamodel.XDMValue;
-
 public final class AttributeType extends AbstractNodeType {
     public static final AttributeType ANYATTRIBUTE = new AttributeType(NameTest.STAR_NAMETEST,
             BuiltinTypeRegistry.XS_ANY_ATOMIC);
@@ -46,21 +40,4 @@ public final class AttributeType extends
     public SchemaType getContentType() {
         return contentType;
     }
-
-    @Override
-    public Filter<XDMValue> createInstanceOfFilter() {
-        final Filter<XDMNode> nameTestMatchFilter = nameTest.createNameMatchFilter();
-        return new Filter<XDMValue>() {
-            @Override
-            public boolean accept(XDMValue value) throws SystemException {
-                if (value == null) {
-                    return false;
-                }
-                if (value.getDMOKind() != DMOKind.ATTRIBUTE_NODE) {
-                    return false;
-                }
-                return nameTestMatchFilter.accept((XDMNode) value);
-            }
-        };
-    }
 }
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/BuiltinAtomicType.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/BuiltinAtomicType.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/BuiltinAtomicType.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/BuiltinAtomicType.java Mon Jun 11 10:50:49 2012
@@ -16,36 +16,15 @@
  */
 package org.apache.vxquery.types;
 
-import org.apache.vxquery.exceptions.SystemException;
-import org.apache.vxquery.types.processors.CastProcessor;
-import org.apache.vxquery.util.Filter;
-import org.apache.vxquery.v0datamodel.DMOKind;
-import org.apache.vxquery.v0datamodel.XDMAtomicValue;
-import org.apache.vxquery.v0datamodel.XDMValue;
-
 final class BuiltinAtomicType implements AtomicType {
     private final int id;
     private final SchemaType baseType;
     private final DerivationProcess derivationProcess;
-    private final CastProcessor castProcessor;
-    private final Filter<XDMValue> instanceFilter;
 
-    BuiltinAtomicType(int id, SimpleType baseType, DerivationProcess derivationProcess, CastProcessor castProcessor) {
+    BuiltinAtomicType(int id, SimpleType baseType, DerivationProcess derivationProcess) {
         this.id = id;
         this.baseType = baseType;
         this.derivationProcess = derivationProcess;
-        this.castProcessor = castProcessor;
-        instanceFilter = new Filter<XDMValue>() {
-            @Override
-            public boolean accept(XDMValue value) throws SystemException {
-                if (value.getDMOKind() != DMOKind.ATOMIC_VALUE) {
-                    return false;
-                }
-                XDMAtomicValue av = (XDMAtomicValue) value;
-                AtomicType at = av.getAtomicType();
-                return TypeUtils.isSubtypeTypeOf(at, BuiltinAtomicType.this);
-            }
-        };
     }
 
     @Override
@@ -79,16 +58,6 @@ final class BuiltinAtomicType implements
     }
 
     @Override
-    public Filter<XDMValue> createInstanceOfFilter() {
-        return instanceFilter;
-    }
-
-    @Override
-    public CastProcessor getCastProcessor(XQType inputBaseType) {
-        return castProcessor;
-    }
-
-    @Override
     public String toString() {
         return String.valueOf(BuiltinTypeRegistry.INSTANCE.getTypeName(id));
     }

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/BuiltinTypeRegistry.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/BuiltinTypeRegistry.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/BuiltinTypeRegistry.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/BuiltinTypeRegistry.java Mon Jun 11 10:50:49 2012
@@ -22,208 +22,147 @@ import java.util.Map;
 
 import javax.xml.namespace.QName;
 
-import org.apache.vxquery.types.processors.AnyUriCastProcessor;
-import org.apache.vxquery.types.processors.Base64BinaryCastProcessor;
-import org.apache.vxquery.types.processors.BooleanCastProcessor;
-import org.apache.vxquery.types.processors.ByteCastProcessor;
-import org.apache.vxquery.types.processors.DateCastProcessor;
-import org.apache.vxquery.types.processors.DateTimeCastProcessor;
-import org.apache.vxquery.types.processors.DayTimeDurationCastProcessor;
-import org.apache.vxquery.types.processors.DecimalCastProcessor;
-import org.apache.vxquery.types.processors.DoubleCastProcessor;
-import org.apache.vxquery.types.processors.DurationCastProcessor;
-import org.apache.vxquery.types.processors.EntityCastProcessor;
-import org.apache.vxquery.types.processors.FloatCastProcessor;
-import org.apache.vxquery.types.processors.GDayCastProcessor;
-import org.apache.vxquery.types.processors.GMonthCastProcessor;
-import org.apache.vxquery.types.processors.GMonthDayCastProcessor;
-import org.apache.vxquery.types.processors.GYearCastProcessor;
-import org.apache.vxquery.types.processors.GYearMonthCastProcessor;
-import org.apache.vxquery.types.processors.HexBinaryCastProcessor;
-import org.apache.vxquery.types.processors.IntCastProcessor;
-import org.apache.vxquery.types.processors.IntegerCastProcessor;
-import org.apache.vxquery.types.processors.LanguageCastProcessor;
-import org.apache.vxquery.types.processors.LongCastProcessor;
-import org.apache.vxquery.types.processors.NCNameCastProcessor;
-import org.apache.vxquery.types.processors.NMTokenCastProcessor;
-import org.apache.vxquery.types.processors.NameCastProcessor;
-import org.apache.vxquery.types.processors.NegativeIntegerCastProcessor;
-import org.apache.vxquery.types.processors.NonNegativeIntegerCastProcessor;
-import org.apache.vxquery.types.processors.NonPositiveIntegerCastProcessor;
-import org.apache.vxquery.types.processors.NormalizedStringCastProcessor;
-import org.apache.vxquery.types.processors.NotCastableCastProcessor;
-import org.apache.vxquery.types.processors.PositiveIntegerCastProcessor;
-import org.apache.vxquery.types.processors.QNameCastProcessor;
-import org.apache.vxquery.types.processors.ShortCastProcessor;
-import org.apache.vxquery.types.processors.StringCastProcessor;
-import org.apache.vxquery.types.processors.TimeCastProcessor;
-import org.apache.vxquery.types.processors.TokenCastProcessor;
-import org.apache.vxquery.types.processors.UnsignedByteCastProcessor;
-import org.apache.vxquery.types.processors.UnsignedIntCastProcessor;
-import org.apache.vxquery.types.processors.UnsignedLongCastProcessor;
-import org.apache.vxquery.types.processors.UnsignedShortCastProcessor;
-import org.apache.vxquery.types.processors.UntypedAtomicCastProcessor;
-import org.apache.vxquery.types.processors.YearMonthDurationCastProcessor;
-
 public final class BuiltinTypeRegistry {
     public static final BuiltinAtomicType XS_ANY_ATOMIC = new BuiltinAtomicType(
-            BuiltinTypeConstants.XS_ANY_ATOMIC_TYPE_ID, AnySimpleType.INSTANCE, DerivationProcess.RESTRICTION,
-            NotCastableCastProcessor.INSTANCE_XPST0080);
+            BuiltinTypeConstants.XS_ANY_ATOMIC_TYPE_ID, AnySimpleType.INSTANCE, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_STRING = new BuiltinAtomicType(BuiltinTypeConstants.XS_STRING_TYPE_ID,
-            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION, StringCastProcessor.INSTANCE);
+            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_NORMALIZED_STRING = new BuiltinAtomicType(
-            BuiltinTypeConstants.XS_NORMALIZED_STRING_TYPE_ID, XS_STRING, DerivationProcess.RESTRICTION,
-            NormalizedStringCastProcessor.INSTANCE);
+            BuiltinTypeConstants.XS_NORMALIZED_STRING_TYPE_ID, XS_STRING, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_TOKEN = new BuiltinAtomicType(BuiltinTypeConstants.XS_TOKEN_TYPE_ID,
-            XS_NORMALIZED_STRING, DerivationProcess.RESTRICTION, TokenCastProcessor.INSTANCE);
+            XS_NORMALIZED_STRING, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_LANGUAGE = new BuiltinAtomicType(BuiltinTypeConstants.XS_LANGUAGE_TYPE_ID,
-            XS_TOKEN, DerivationProcess.RESTRICTION, LanguageCastProcessor.INSTANCE);
+            XS_TOKEN, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_NMTOKEN = new BuiltinAtomicType(BuiltinTypeConstants.XS_NMTOKEN_TYPE_ID,
-            XS_TOKEN, DerivationProcess.RESTRICTION, NMTokenCastProcessor.INSTANCE);
+            XS_TOKEN, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_NAME = new BuiltinAtomicType(BuiltinTypeConstants.XS_NAME_TYPE_ID,
-            XS_TOKEN, DerivationProcess.RESTRICTION, NameCastProcessor.INSTANCE);
+            XS_TOKEN, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_NCNAME = new BuiltinAtomicType(BuiltinTypeConstants.XS_NCNAME_TYPE_ID,
-            XS_NAME, DerivationProcess.RESTRICTION, NCNameCastProcessor.INSTANCE);
+            XS_NAME, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_ID = new BuiltinAtomicType(BuiltinTypeConstants.XS_ID_TYPE_ID, XS_NCNAME,
-            DerivationProcess.RESTRICTION, null);
+            DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_IDREF = new BuiltinAtomicType(BuiltinTypeConstants.XS_IDREF_TYPE_ID,
-            XS_NCNAME, DerivationProcess.RESTRICTION, null);
+            XS_NCNAME, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_ENTITY = new BuiltinAtomicType(BuiltinTypeConstants.XS_ENTITY_TYPE_ID,
-            XS_NCNAME, DerivationProcess.RESTRICTION, EntityCastProcessor.INSTANCE);
+            XS_NCNAME, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_UNTYPED_ATOMIC = new BuiltinAtomicType(
-            BuiltinTypeConstants.XS_UNTYPED_ATOMIC_TYPE_ID, XS_ANY_ATOMIC, DerivationProcess.RESTRICTION,
-            UntypedAtomicCastProcessor.INSTANCE);
+            BuiltinTypeConstants.XS_UNTYPED_ATOMIC_TYPE_ID, XS_ANY_ATOMIC, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_DATETIME = new BuiltinAtomicType(BuiltinTypeConstants.XS_DATETIME_TYPE_ID,
-            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION, DateTimeCastProcessor.INSTANCE);
+            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_DATE = new BuiltinAtomicType(BuiltinTypeConstants.XS_DATE_TYPE_ID,
-            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION, DateCastProcessor.INSTANCE);
+            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_TIME = new BuiltinAtomicType(BuiltinTypeConstants.XS_TIME_TYPE_ID,
-            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION, TimeCastProcessor.INSTANCE);
+            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_DURATION = new BuiltinAtomicType(BuiltinTypeConstants.XS_DURATION_TYPE_ID,
-            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION, DurationCastProcessor.INSTANCE);
+            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_YEAR_MONTH_DURATION = new BuiltinAtomicType(
-            BuiltinTypeConstants.XS_YEAR_MONTH_DURATION_TYPE_ID, XS_DURATION, DerivationProcess.RESTRICTION,
-            YearMonthDurationCastProcessor.INSTANCE);
+            BuiltinTypeConstants.XS_YEAR_MONTH_DURATION_TYPE_ID, XS_DURATION, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_DAY_TIME_DURATION = new BuiltinAtomicType(
-            BuiltinTypeConstants.XS_DAY_TIME_DURATION_TYPE_ID, XS_DURATION, DerivationProcess.RESTRICTION,
-            DayTimeDurationCastProcessor.INSTANCE);
+            BuiltinTypeConstants.XS_DAY_TIME_DURATION_TYPE_ID, XS_DURATION, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XSEXT_NUMERIC = new BuiltinAtomicType(
-            BuiltinTypeConstants.XSEXT_NUMERIC_TYPE_ID, XS_ANY_ATOMIC, DerivationProcess.RESTRICTION,
-            DoubleCastProcessor.INSTANCE);
+            BuiltinTypeConstants.XSEXT_NUMERIC_TYPE_ID, XS_ANY_ATOMIC, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_FLOAT = new BuiltinAtomicType(BuiltinTypeConstants.XS_FLOAT_TYPE_ID,
-            XSEXT_NUMERIC, DerivationProcess.RESTRICTION, FloatCastProcessor.INSTANCE);
+            XSEXT_NUMERIC, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_DOUBLE = new BuiltinAtomicType(BuiltinTypeConstants.XS_DOUBLE_TYPE_ID,
-            XSEXT_NUMERIC, DerivationProcess.RESTRICTION, DoubleCastProcessor.INSTANCE);
+            XSEXT_NUMERIC, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_DECIMAL = new BuiltinAtomicType(BuiltinTypeConstants.XS_DECIMAL_TYPE_ID,
-            XSEXT_NUMERIC, DerivationProcess.RESTRICTION, DecimalCastProcessor.INSTANCE);
+            XSEXT_NUMERIC, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_INTEGER = new BuiltinAtomicType(BuiltinTypeConstants.XS_INTEGER_TYPE_ID,
-            XS_DECIMAL, DerivationProcess.RESTRICTION, IntegerCastProcessor.INSTANCE);
+            XS_DECIMAL, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_NON_POSITIVE_INTEGER = new BuiltinAtomicType(
-            BuiltinTypeConstants.XS_NON_POSITIVE_INTEGER_TYPE_ID, XS_INTEGER, DerivationProcess.RESTRICTION,
-            NonPositiveIntegerCastProcessor.INSTANCE);
+            BuiltinTypeConstants.XS_NON_POSITIVE_INTEGER_TYPE_ID, XS_INTEGER, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_NEGATIVE_INTEGER = new BuiltinAtomicType(
-            BuiltinTypeConstants.XS_NEGATIVE_INTEGER_TYPE_ID, XS_NON_POSITIVE_INTEGER, DerivationProcess.RESTRICTION,
-            NegativeIntegerCastProcessor.INSTANCE);
+            BuiltinTypeConstants.XS_NEGATIVE_INTEGER_TYPE_ID, XS_NON_POSITIVE_INTEGER, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_LONG = new BuiltinAtomicType(BuiltinTypeConstants.XS_LONG_TYPE_ID,
-            XS_INTEGER, DerivationProcess.RESTRICTION, LongCastProcessor.INSTANCE);
+            XS_INTEGER, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_INT = new BuiltinAtomicType(BuiltinTypeConstants.XS_INT_TYPE_ID, XS_LONG,
-            DerivationProcess.RESTRICTION, IntCastProcessor.INSTANCE);
+            DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_SHORT = new BuiltinAtomicType(BuiltinTypeConstants.XS_SHORT_TYPE_ID,
-            XS_INT, DerivationProcess.RESTRICTION, ShortCastProcessor.INSTANCE);
+            XS_INT, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_BYTE = new BuiltinAtomicType(BuiltinTypeConstants.XS_BYTE_TYPE_ID,
-            XS_SHORT, DerivationProcess.RESTRICTION, ByteCastProcessor.INSTANCE);
+            XS_SHORT, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_NON_NEGATIVE_INTEGER = new BuiltinAtomicType(
-            BuiltinTypeConstants.XS_NON_NEGATIVE_INTEGER_TYPE_ID, XS_INTEGER, DerivationProcess.RESTRICTION,
-            NonNegativeIntegerCastProcessor.INSTANCE);
+            BuiltinTypeConstants.XS_NON_NEGATIVE_INTEGER_TYPE_ID, XS_INTEGER, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_UNSIGNED_LONG = new BuiltinAtomicType(
-            BuiltinTypeConstants.XS_UNSIGNED_LONG_TYPE_ID, XS_NON_NEGATIVE_INTEGER, DerivationProcess.RESTRICTION,
-            UnsignedLongCastProcessor.INSTANCE);
+            BuiltinTypeConstants.XS_UNSIGNED_LONG_TYPE_ID, XS_NON_NEGATIVE_INTEGER, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_UNSIGNED_INT = new BuiltinAtomicType(
-            BuiltinTypeConstants.XS_UNSIGNED_INT_TYPE_ID, XS_UNSIGNED_LONG, DerivationProcess.RESTRICTION,
-            UnsignedIntCastProcessor.INSTANCE);
+            BuiltinTypeConstants.XS_UNSIGNED_INT_TYPE_ID, XS_UNSIGNED_LONG, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_UNSIGNED_SHORT = new BuiltinAtomicType(
-            BuiltinTypeConstants.XS_UNSIGNED_SHORT_TYPE_ID, XS_UNSIGNED_INT, DerivationProcess.RESTRICTION,
-            UnsignedShortCastProcessor.INSTANCE);
+            BuiltinTypeConstants.XS_UNSIGNED_SHORT_TYPE_ID, XS_UNSIGNED_INT, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_UNSIGNED_BYTE = new BuiltinAtomicType(
-            BuiltinTypeConstants.XS_UNSIGNED_BYTE_TYPE_ID, XS_UNSIGNED_SHORT, DerivationProcess.RESTRICTION,
-            UnsignedByteCastProcessor.INSTANCE);
+            BuiltinTypeConstants.XS_UNSIGNED_BYTE_TYPE_ID, XS_UNSIGNED_SHORT, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_POSITIVE_INTEGER = new BuiltinAtomicType(
-            BuiltinTypeConstants.XS_POSITIVE_INTEGER_TYPE_ID, XS_NON_NEGATIVE_INTEGER, DerivationProcess.RESTRICTION,
-            PositiveIntegerCastProcessor.INSTANCE);
+            BuiltinTypeConstants.XS_POSITIVE_INTEGER_TYPE_ID, XS_NON_NEGATIVE_INTEGER, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_G_YEAR_MONTH = new BuiltinAtomicType(
-            BuiltinTypeConstants.XS_G_YEAR_MONTH_TYPE_ID, XS_ANY_ATOMIC, DerivationProcess.RESTRICTION,
-            GYearMonthCastProcessor.INSTANCE);
+            BuiltinTypeConstants.XS_G_YEAR_MONTH_TYPE_ID, XS_ANY_ATOMIC, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_G_YEAR = new BuiltinAtomicType(BuiltinTypeConstants.XS_G_YEAR_TYPE_ID,
-            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION, GYearCastProcessor.INSTANCE);
+            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_G_MONTH_DAY = new BuiltinAtomicType(
-            BuiltinTypeConstants.XS_G_MONTH_DAY_TYPE_ID, XS_ANY_ATOMIC, DerivationProcess.RESTRICTION,
-            GMonthDayCastProcessor.INSTANCE);
+            BuiltinTypeConstants.XS_G_MONTH_DAY_TYPE_ID, XS_ANY_ATOMIC, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_G_DAY = new BuiltinAtomicType(BuiltinTypeConstants.XS_G_DAY_TYPE_ID,
-            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION, GDayCastProcessor.INSTANCE);
+            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_G_MONTH = new BuiltinAtomicType(BuiltinTypeConstants.XS_G_MONTH_TYPE_ID,
-            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION, GMonthCastProcessor.INSTANCE);
+            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_BOOLEAN = new BuiltinAtomicType(BuiltinTypeConstants.XS_BOOLEAN_TYPE_ID,
-            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION, BooleanCastProcessor.INSTANCE);
+            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_BASE64_BINARY = new BuiltinAtomicType(
-            BuiltinTypeConstants.XS_BASE64_BINARY_TYPE_ID, XS_ANY_ATOMIC, DerivationProcess.RESTRICTION,
-            Base64BinaryCastProcessor.INSTANCE);
+            BuiltinTypeConstants.XS_BASE64_BINARY_TYPE_ID, XS_ANY_ATOMIC, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_HEX_BINARY = new BuiltinAtomicType(
-            BuiltinTypeConstants.XS_HEX_BINARY_TYPE_ID, XS_ANY_ATOMIC, DerivationProcess.RESTRICTION,
-            HexBinaryCastProcessor.INSTANCE);
+            BuiltinTypeConstants.XS_HEX_BINARY_TYPE_ID, XS_ANY_ATOMIC, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_ANY_URI = new BuiltinAtomicType(BuiltinTypeConstants.XS_ANY_URI_TYPE_ID,
-            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION, AnyUriCastProcessor.INSTANCE);
+            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_QNAME = new BuiltinAtomicType(BuiltinTypeConstants.XS_QNAME_TYPE_ID,
-            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION, QNameCastProcessor.INSTANCE);
+            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XS_NOTATION = new BuiltinAtomicType(BuiltinTypeConstants.XS_NOTATION_TYPE_ID,
-            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION, null);
+            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION);
 
     public static final BuiltinAtomicType XSEXT_TYPE = new BuiltinAtomicType(BuiltinTypeConstants.XSEXT_TYPE_TYPE_ID,
-            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION, null);
+            XS_ANY_ATOMIC, DerivationProcess.RESTRICTION);
 
     public static final BuiltinTypeRegistry INSTANCE = new BuiltinTypeRegistry();
 

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/CommentType.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/CommentType.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/CommentType.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/CommentType.java Mon Jun 11 10:50:49 2012
@@ -16,24 +16,9 @@
  */
 package org.apache.vxquery.types;
 
-import org.apache.vxquery.exceptions.SystemException;
-import org.apache.vxquery.util.Filter;
-import org.apache.vxquery.v0datamodel.DMOKind;
-import org.apache.vxquery.v0datamodel.XDMValue;
-
 public final class CommentType extends AbstractNodeType {
     public static final CommentType INSTANCE = new CommentType();
 
-    private static final Filter<XDMValue> INSTANCE_OF_FILTER = new Filter<XDMValue>() {
-        @Override
-        public boolean accept(XDMValue value) throws SystemException {
-            if (value == null) {
-                return false;
-            }
-            return value.getDMOKind() == DMOKind.COMMENT_NODE;
-        }
-    };
-
     private CommentType() {
     }
 
@@ -41,9 +26,4 @@ public final class CommentType extends A
     public NodeKind getNodeKind() {
         return NodeKind.COMMENT;
     }
-
-    @Override
-    public Filter<XDMValue> createInstanceOfFilter() {
-        return INSTANCE_OF_FILTER;
-    }
 }
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/ComposedType.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/ComposedType.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/ComposedType.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/ComposedType.java Mon Jun 11 10:50:49 2012
@@ -18,10 +18,6 @@ package org.apache.vxquery.types;
 
 import java.util.List;
 
-import org.apache.vxquery.types.processors.CastProcessor;
-import org.apache.vxquery.util.Filter;
-import org.apache.vxquery.v0datamodel.XDMValue;
-
 public class ComposedType implements XQType {
     private List<XQType> contentTypes;
     private Composer composer;
@@ -38,14 +34,4 @@ public class ComposedType implements XQT
     public Composer getComposer() {
         return composer;
     }
-
-    @Override
-    public Filter<XDMValue> createInstanceOfFilter() {
-        return null;
-    }
-
-    @Override
-    public CastProcessor getCastProcessor(XQType inputBaseType) {
-        return null;
-    }
 }
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/DocumentType.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/DocumentType.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/DocumentType.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/DocumentType.java Mon Jun 11 10:50:49 2012
@@ -16,9 +16,6 @@
  */
 package org.apache.vxquery.types;
 
-import org.apache.vxquery.util.Filter;
-import org.apache.vxquery.v0datamodel.XDMValue;
-
 public final class DocumentType extends AbstractNodeType {
     public static final DocumentType ANYDOCUMENT = new DocumentType(ElementType.ANYELEMENT);
 
@@ -36,9 +33,4 @@ public final class DocumentType extends 
     public ElementType getElementType() {
         return elementType;
     }
-
-    @Override
-    public Filter<XDMValue> createInstanceOfFilter() {
-        return null;
-    }
 }
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/ElementType.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/ElementType.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/ElementType.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/ElementType.java Mon Jun 11 10:50:49 2012
@@ -16,12 +16,6 @@
  */
 package org.apache.vxquery.types;
 
-import org.apache.vxquery.exceptions.SystemException;
-import org.apache.vxquery.util.Filter;
-import org.apache.vxquery.v0datamodel.DMOKind;
-import org.apache.vxquery.v0datamodel.XDMNode;
-import org.apache.vxquery.v0datamodel.XDMValue;
-
 public final class ElementType extends AbstractNodeType {
     public static final ElementType ANYELEMENT = new ElementType(NameTest.STAR_NAMETEST, AnyType.INSTANCE, true);
 
@@ -53,23 +47,6 @@ public final class ElementType extends A
     }
 
     @Override
-    public Filter<XDMValue> createInstanceOfFilter() {
-        final Filter<XDMNode> nameTestMatchFilter = nameTest.createNameMatchFilter();
-        return new Filter<XDMValue>() {
-            @Override
-            public boolean accept(XDMValue value) throws SystemException {
-                if (value == null) {
-                    return false;
-                }
-                if (value.getDMOKind() != DMOKind.ELEMENT_NODE) {
-                    return false;
-                }
-                return nameTestMatchFilter.accept((XDMNode) value);
-            }
-        };
-    }
-
-    @Override
     public String toString() {
         return "NodeTest(" + nameTest + ", " + contentType + ", nilled = " + nilled + ")";
     }

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/EmptySequenceType.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/EmptySequenceType.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/EmptySequenceType.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/EmptySequenceType.java Mon Jun 11 10:50:49 2012
@@ -16,22 +16,9 @@
  */
 package org.apache.vxquery.types;
 
-import org.apache.vxquery.exceptions.SystemException;
-import org.apache.vxquery.types.processors.CastProcessor;
-import org.apache.vxquery.types.processors.NotCastableCastProcessor;
-import org.apache.vxquery.util.Filter;
-import org.apache.vxquery.v0datamodel.XDMValue;
-
 public final class EmptySequenceType implements ItemType {
     public static final EmptySequenceType INSTANCE = new EmptySequenceType();
 
-    private static final Filter<XDMValue> INSTANCE_OF_FILTER = new Filter<XDMValue>() {
-        @Override
-        public boolean accept(XDMValue value) throws SystemException {
-            return value == null;
-        }
-    };
-
     private EmptySequenceType() {
     }
 
@@ -39,14 +26,4 @@ public final class EmptySequenceType imp
     public boolean isAtomicType() {
         return false;
     }
-
-    @Override
-    public Filter<XDMValue> createInstanceOfFilter() {
-        return INSTANCE_OF_FILTER;
-    }
-
-    @Override
-    public CastProcessor getCastProcessor(XQType inputBaseType) {
-        return NotCastableCastProcessor.INSTANCE_XPST0051;
-    }
 }
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/NameTest.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/NameTest.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/NameTest.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/NameTest.java Mon Jun 11 10:50:49 2012
@@ -18,11 +18,6 @@ package org.apache.vxquery.types;
 
 import javax.xml.namespace.QName;
 
-import org.apache.vxquery.exceptions.SystemException;
-import org.apache.vxquery.util.Filter;
-import org.apache.vxquery.v0datamodel.XDMNode;
-import org.apache.vxquery.v0datamodel.atomic.QNameValue;
-
 public final class NameTest {
     public static final String WILDCARD = null;
 
@@ -51,39 +46,6 @@ public final class NameTest {
         return new QName(uri, localName);
     }
 
-    @SuppressWarnings("unchecked")
-    public Filter<XDMNode> createNameMatchFilter() {
-        if (uri == null) {
-            if (localName == null) {
-                return (Filter<XDMNode>) Filter.TRUE_FILTER;
-            } else {
-                return new Filter<XDMNode>() {
-                    @Override
-                    public boolean accept(XDMNode value) throws SystemException {
-                        return value.getNodeName().getLocalName().equals(localName);
-                    }
-                };
-            }
-        } else {
-            if (localName == null) {
-                return new Filter<XDMNode>() {
-                    @Override
-                    public boolean accept(XDMNode value) throws SystemException {
-                        return uri.equals(value.getNodeName().getUri());
-                    }
-                };
-            } else {
-                return new Filter<XDMNode>() {
-                    @Override
-                    public boolean accept(XDMNode value) throws SystemException {
-                        QNameValue nodeName = value.getNodeName();
-                        return uri.equals(nodeName.getUri()) && nodeName.getLocalName().equals(localName);
-                    }
-                };
-            }
-        }
-    }
-
     @Override
     public String toString() {
         return "NameTest(" + asQName() + ")";

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/NoneType.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/NoneType.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/NoneType.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/NoneType.java Mon Jun 11 10:50:49 2012
@@ -16,11 +16,6 @@
  */
 package org.apache.vxquery.types;
 
-import org.apache.vxquery.types.processors.CastProcessor;
-import org.apache.vxquery.types.processors.NotCastableCastProcessor;
-import org.apache.vxquery.util.Filter;
-import org.apache.vxquery.v0datamodel.XDMValue;
-
 public class NoneType implements ItemType {
     public static final NoneType INSTANCE = new NoneType();
 
@@ -31,15 +26,4 @@ public class NoneType implements ItemTyp
     public boolean isAtomicType() {
         return false;
     }
-
-    @SuppressWarnings("unchecked")
-    @Override
-    public Filter<XDMValue> createInstanceOfFilter() {
-        return (Filter<XDMValue>) Filter.FALSE_FILTER;
-    }
-
-    @Override
-    public CastProcessor getCastProcessor(XQType inputBaseType) {
-        return NotCastableCastProcessor.INSTANCE_XPST0051;
-    }
 }
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/ProcessingInstructionType.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/ProcessingInstructionType.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/ProcessingInstructionType.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/ProcessingInstructionType.java Mon Jun 11 10:50:49 2012
@@ -16,12 +16,6 @@
  */
 package org.apache.vxquery.types;
 
-import org.apache.vxquery.exceptions.SystemException;
-import org.apache.vxquery.util.Filter;
-import org.apache.vxquery.v0datamodel.DMOKind;
-import org.apache.vxquery.v0datamodel.XDMNode;
-import org.apache.vxquery.v0datamodel.XDMValue;
-
 public final class ProcessingInstructionType extends AbstractNodeType {
     public static final ProcessingInstructionType ANYPI = new ProcessingInstructionType(null);
 
@@ -39,21 +33,4 @@ public final class ProcessingInstruction
     public String getTarget() {
         return target;
     }
-
-    @Override
-    public Filter<XDMValue> createInstanceOfFilter() {
-        return new Filter<XDMValue>() {
-            @Override
-            public boolean accept(XDMValue value) throws SystemException {
-                if (value == null) {
-                    return false;
-                }
-                if (value.getDMOKind() != DMOKind.PI_NODE) {
-                    return false;
-                }
-                XDMNode node = (XDMNode) value;
-                return (target == null || target.equals(node.getNodeName().getLocalName()));
-            }
-        };
-    }
 }
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/QuantifiedType.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/QuantifiedType.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/QuantifiedType.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/QuantifiedType.java Mon Jun 11 10:50:49 2012
@@ -16,16 +16,6 @@
  */
 package org.apache.vxquery.types;
 
-import org.apache.vxquery.context.StaticContext;
-import org.apache.vxquery.exceptions.ErrorCode;
-import org.apache.vxquery.exceptions.SystemException;
-import org.apache.vxquery.exceptions.SystemExceptionFactory;
-import org.apache.vxquery.types.processors.CastProcessor;
-import org.apache.vxquery.types.processors.NotCastableCastProcessor;
-import org.apache.vxquery.util.Filter;
-import org.apache.vxquery.v0datamodel.XDMValue;
-import org.apache.vxquery.v0datamodel.atomic.AtomicValueFactory;
-
 public class QuantifiedType implements XQType {
     private XQType contentType;
     private Quantifier quantifier;
@@ -44,53 +34,6 @@ public class QuantifiedType implements X
     }
 
     @Override
-    public Filter<XDMValue> createInstanceOfFilter() {
-        return null;
-    }
-
-    @Override
-    public CastProcessor getCastProcessor(XQType inputBaseType) {
-        final CastProcessor contentTypeProcessor = contentType.getCastProcessor(inputBaseType);
-        switch (quantifier) {
-            case QUANT_ONE:
-            case QUANT_PLUS:
-                return contentTypeProcessor;
-
-            case QUANT_QUESTION:
-            case QUANT_STAR:
-                return new CastProcessor() {
-                    @Override
-                    public XDMValue cast(AtomicValueFactory avf, XDMValue value, SystemExceptionFactory ieFactory,
-                            StaticContext ctx) throws SystemException {
-                        if (value == null) {
-                            return null;
-                        }
-                        return contentTypeProcessor.cast(avf, value, ieFactory, ctx);
-                    }
-
-                    @Override
-                    public boolean castable(XDMValue value, StaticContext ctx) {
-                        if (value == null) {
-                            return true;
-                        }
-                        return contentTypeProcessor.castable(value, ctx);
-                    }
-
-                    @Override
-                    public Boolean castable(XQType type) {
-                        return contentTypeProcessor.castable(type);
-                    }
-
-                    @Override
-                    public ErrorCode getCastFailureErrorCode(XQType type) {
-                        return contentTypeProcessor.getCastFailureErrorCode(type);
-                    }
-                };
-        }
-        return NotCastableCastProcessor.INSTANCE_XPST0051;
-    }
-
-    @Override
     public String toString() {
         return "QuantifiedType[" + contentType + ":" + quantifier + "]";
     }

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/TextType.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/TextType.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/TextType.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/TextType.java Mon Jun 11 10:50:49 2012
@@ -16,24 +16,9 @@
  */
 package org.apache.vxquery.types;
 
-import org.apache.vxquery.exceptions.SystemException;
-import org.apache.vxquery.util.Filter;
-import org.apache.vxquery.v0datamodel.DMOKind;
-import org.apache.vxquery.v0datamodel.XDMValue;
-
 public final class TextType extends AbstractNodeType {
     public static final TextType INSTANCE = new TextType();
 
-    private static final Filter<XDMValue> TEXT_FILTER = new Filter<XDMValue>() {
-        @Override
-        public boolean accept(XDMValue value) throws SystemException {
-            if (value == null) {
-                return false;
-            }
-            return value.getDMOKind() == DMOKind.TEXT_NODE;
-        }
-    };
-
     private TextType() {
     }
 
@@ -41,9 +26,4 @@ public final class TextType extends Abst
     public NodeKind getNodeKind() {
         return NodeKind.TEXT;
     }
-
-    @Override
-    public Filter<XDMValue> createInstanceOfFilter() {
-        return TEXT_FILTER;
-    }
 }
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/XQType.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/XQType.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/XQType.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/XQType.java Mon Jun 11 10:50:49 2012
@@ -16,12 +16,5 @@
 */
 package org.apache.vxquery.types;
 
-import org.apache.vxquery.types.processors.CastProcessor;
-import org.apache.vxquery.util.Filter;
-import org.apache.vxquery.v0datamodel.XDMValue;
-
 public interface XQType {
-    public Filter<XDMValue> createInstanceOfFilter();
-
-    public CastProcessor getCastProcessor(XQType inputBaseType);
 }
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/IEventAcceptor.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/IEventAcceptor.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/IEventAcceptor.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/IEventAcceptor.java Mon Jun 11 10:50:49 2012
@@ -17,7 +17,6 @@
 package org.apache.vxquery.xmlparser;
 
 import org.apache.vxquery.exceptions.SystemException;
-import org.apache.vxquery.v0datamodel.XDMItem;
 
 public interface IEventAcceptor {
     public void open() throws SystemException;
@@ -40,7 +39,5 @@ public interface IEventAcceptor {
 
     public void pi(String target, String content) throws SystemException;
 
-    public void item(XDMItem item) throws SystemException;
-
     public void close();
 }
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/NodeTreeBuildingEventAcceptor.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/NodeTreeBuildingEventAcceptor.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/NodeTreeBuildingEventAcceptor.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/NodeTreeBuildingEventAcceptor.java Mon Jun 11 10:50:49 2012
@@ -17,12 +17,11 @@ package org.apache.vxquery.xmlparser;
 import java.io.DataOutput;
 import java.util.ArrayList;
 
-import org.apache.vxquery.datamodel.builders.DictionaryBuilder;
-import org.apache.vxquery.datamodel.builders.ElementNodeBuilder;
 import org.apache.vxquery.datamodel.builders.base.IDMBuilderPool;
+import org.apache.vxquery.datamodel.builders.nodes.DictionaryBuilder;
+import org.apache.vxquery.datamodel.builders.nodes.ElementNodeBuilder;
 import org.apache.vxquery.exceptions.SystemException;
 import org.apache.vxquery.types.BuiltinTypeQNames;
-import org.apache.vxquery.v0datamodel.XDMItem;
 import org.apache.vxquery.xmlquery.query.XQueryConstants;
 
 public class NodeTreeBuildingEventAcceptor implements IEventAcceptor {
@@ -109,11 +108,6 @@ public class NodeTreeBuildingEventAccept
     }
 
     @Override
-    public void item(XDMItem item) throws SystemException {
-
-    }
-
-    @Override
     public void close() {
 
     }

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/Module.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/Module.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/Module.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/Module.java Mon Jun 11 10:50:49 2012
@@ -16,7 +16,6 @@ package org.apache.vxquery.xmlquery.quer
 
 import org.apache.vxquery.compiler.CompilerControlBlock;
 import org.apache.vxquery.context.StaticContext;
-import org.apache.vxquery.v0runtime.RegisterSet;
 
 import edu.uci.ics.hyracks.algebricks.core.algebra.base.ILogicalPlan;
 import edu.uci.ics.hyracks.api.job.JobSpecification;
@@ -88,8 +87,4 @@ public class Module {
     public void setHyracksJobSpecification(JobSpecification jobSpec) {
         this.jobSpec = jobSpec;
     }
-
-    public RegisterSet createGlobalRegisterSet() {
-        return new RegisterSet(new Object[gVariables.length]);
-    }
 }
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/PrologVariable.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/PrologVariable.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/PrologVariable.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/PrologVariable.java Mon Jun 11 10:50:49 2012
@@ -17,22 +17,15 @@
 package org.apache.vxquery.xmlquery.query;
 
 import org.apache.vxquery.context.XQueryVariable;
-import org.apache.vxquery.v0runtime.RuntimePlan;
 
 public class PrologVariable {
     private XQueryVariable variable;
-    private RuntimePlan plan;
 
-    public PrologVariable(XQueryVariable variable, RuntimePlan plan) {
+    public PrologVariable(XQueryVariable variable) {
         this.variable = variable;
-        this.plan = plan;
     }
 
     public XQueryVariable getVariable() {
         return variable;
     }
-
-    public RuntimePlan getRuntimePlan() {
-        return plan;
-    }
 }
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/XMLQueryCompiler.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/XMLQueryCompiler.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/XMLQueryCompiler.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/XMLQueryCompiler.java Mon Jun 11 10:50:49 2012
@@ -19,8 +19,9 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.vxquery.compiler.CompilerControlBlock;
-import org.apache.vxquery.compiler.algebricks.PrinterFactoryProvider;
-import org.apache.vxquery.compiler.jobgen.ExpressionJobGen;
+import org.apache.vxquery.compiler.algebricks.VXQueryConstantValue;
+import org.apache.vxquery.compiler.algebricks.VXQueryExpressionJobGen;
+import org.apache.vxquery.compiler.algebricks.VXQueryPrinterFactoryProvider;
 import org.apache.vxquery.compiler.rewriter.RewriteRuleset;
 import org.apache.vxquery.exceptions.ErrorCode;
 import org.apache.vxquery.exceptions.SystemException;
@@ -36,6 +37,8 @@ import edu.uci.ics.hyracks.algebricks.co
 import edu.uci.ics.hyracks.algebricks.compiler.rewriter.rulecontrollers.SequentialFixpointRuleController;
 import edu.uci.ics.hyracks.algebricks.compiler.rewriter.rulecontrollers.SequentialOnceRuleController;
 import edu.uci.ics.hyracks.algebricks.core.algebra.base.ILogicalExpression;
+import edu.uci.ics.hyracks.algebricks.core.algebra.base.LogicalExpressionTag;
+import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.ConstantExpression;
 import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.IExpressionTypeComputer;
 import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.IVariableTypeEnvironment;
 import edu.uci.ics.hyracks.algebricks.core.algebra.metadata.IMetadataProvider;
@@ -70,12 +73,17 @@ public class XMLQueryCompiler {
                 return null;
             }
         });
-        builder.setPrinterProvider(PrinterFactoryProvider.INSTANCE);
-        builder.setExprJobGen(new ExpressionJobGen());
+        builder.setPrinterProvider(VXQueryPrinterFactoryProvider.INSTANCE);
+        builder.setExprJobGen(new VXQueryExpressionJobGen());
         builder.setExpressionTypeComputer(new IExpressionTypeComputer() {
             @Override
             public Object getType(ILogicalExpression expr, IMetadataProvider<?, ?> metadataProvider,
                     IVariableTypeEnvironment env) throws AlgebricksException {
+                if (expr.getExpressionTag() == LogicalExpressionTag.CONSTANT) {
+                    ConstantExpression ce = (ConstantExpression) expr;
+                    VXQueryConstantValue cv = (VXQueryConstantValue) ce.getValue();
+                    return cv.getType();
+                }
                 return null;
             }
         });
@@ -108,6 +116,14 @@ public class XMLQueryCompiler {
         listener.notifyCodegenResult(module);
     }
 
+    public ModuleNode getModuleNode() {
+        return moduleNode;
+    }
+
+    public Module getModule() {
+        return module;
+    }
+
     private static List<Pair<AbstractRuleController, List<IAlgebraicRewriteRule>>> buildDefaultLogicalRewrites() {
         List<Pair<AbstractRuleController, List<IAlgebraicRewriteRule>>> defaultLogicalRewrites = new ArrayList<Pair<AbstractRuleController, List<IAlgebraicRewriteRule>>>();
         SequentialFixpointRuleController seqCtrlNoDfs = new SequentialFixpointRuleController(false);

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/translator/XMLQueryTranslator.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/translator/XMLQueryTranslator.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/translator/XMLQueryTranslator.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/translator/XMLQueryTranslator.java Mon Jun 11 10:50:49 2012
@@ -1,6 +1,10 @@
 package org.apache.vxquery.xmlquery.translator;
 
+import java.io.DataOutput;
+import java.io.DataOutputStream;
+import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
@@ -14,11 +18,12 @@ import org.apache.commons.lang3.mutable.
 import org.apache.commons.lang3.mutable.MutableObject;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.vxquery.compiler.CompilerControlBlock;
-import org.apache.vxquery.compiler.algebricks.ConstantValue;
+import org.apache.vxquery.compiler.algebricks.VXQueryConstantValue;
 import org.apache.vxquery.context.StaticContext;
 import org.apache.vxquery.context.StaticContextImpl;
 import org.apache.vxquery.context.ThinStaticContextImpl;
 import org.apache.vxquery.context.XQueryVariable;
+import org.apache.vxquery.datamodel.builders.atomic.StringValueBuilder;
 import org.apache.vxquery.exceptions.ErrorCode;
 import org.apache.vxquery.exceptions.SystemException;
 import org.apache.vxquery.functions.BuiltinFunctions;
@@ -33,6 +38,7 @@ import org.apache.vxquery.types.AnyNodeT
 import org.apache.vxquery.types.AnyType;
 import org.apache.vxquery.types.AtomicType;
 import org.apache.vxquery.types.AttributeType;
+import org.apache.vxquery.types.BuiltinTypeConstants;
 import org.apache.vxquery.types.BuiltinTypeRegistry;
 import org.apache.vxquery.types.CommentType;
 import org.apache.vxquery.types.DocumentType;
@@ -152,6 +158,7 @@ import edu.uci.ics.hyracks.algebricks.co
 import edu.uci.ics.hyracks.algebricks.core.algebra.operators.logical.UnnestOperator;
 import edu.uci.ics.hyracks.algebricks.core.algebra.operators.logical.WriteOperator;
 import edu.uci.ics.hyracks.algebricks.core.algebra.plan.ALogicalPlanImpl;
+import edu.uci.ics.hyracks.dataflow.common.comm.io.ByteArrayAccessibleOutputStream;
 
 public class XMLQueryTranslator {
     private static final Pattern UNQUOTER = Pattern
@@ -169,10 +176,20 @@ public class XMLQueryTranslator {
 
     private int varCounter;
 
+    private final ByteArrayAccessibleOutputStream baaos;
+
+    private final DataOutput dOut;
+
+    private final StringValueBuilder stringVB;
+
     public XMLQueryTranslator(CompilerControlBlock ccb) {
         this.ccb = ccb;
         varCounter = 0;
         rootCtx = ccb.getStaticContext();
+
+        baaos = new ByteArrayAccessibleOutputStream();
+        dOut = new DataOutputStream(baaos);
+        stringVB = new StringValueBuilder();
     }
 
     private void pushContext() {
@@ -608,7 +625,7 @@ public class XMLQueryTranslator {
         LogicalVariable lVar = translateExpression(queryBody, tCtx);
         List<Mutable<ILogicalExpression>> exprs = new ArrayList<Mutable<ILogicalExpression>>();
         exprs.add(mutable(vre(lVar)));
-        WriteOperator op = new WriteOperator(exprs, new QueryResultDataSink());
+        WriteOperator op = new WriteOperator(exprs, new QueryResultDataSink(ccb.getResultFileSplits()));
         op.getInputs().add(mutable(tCtx.op));
         ALogicalPlanImpl lp = new ALogicalPlanImpl(mutable(op));
 
@@ -835,11 +852,8 @@ public class XMLQueryTranslator {
         List<Mutable<ILogicalExpression>> exprs = new ArrayList<Mutable<ILogicalExpression>>();
         LogicalVariable var = newLogicalVariable();
         vars.add(var);
-        exprs.add(mutable(afce(
-                BuiltinOperators.SEQUENCE,
-                false,
-                new ConstantExpression(new ConstantValue(SequenceType.create(BuiltinTypeRegistry.XS_BOOLEAN,
-                        Quantifier.QUANT_ONE), Boolean.TRUE)))));
+        exprs.add(mutable(afce(BuiltinOperators.SEQUENCE, false,
+                ce(SequenceType.create(BuiltinTypeRegistry.XS_BOOLEAN, Quantifier.QUANT_ONE), Boolean.TRUE))));
         AggregateOperator aop = new AggregateOperator(vars, exprs);
         aop.getInputs().add(mutable(tCtx.op));
         tCtx.op = aop;
@@ -867,7 +881,8 @@ public class XMLQueryTranslator {
         return lVar;
     }
 
-    private LogicalVariable translateCDataSectionNode(TranslationContext tCtx, CDataSectionNode cdsNode) {
+    private LogicalVariable translateCDataSectionNode(TranslationContext tCtx, CDataSectionNode cdsNode)
+            throws SystemException {
         LogicalVariable lVar = createAssignment(
                 sfce(BuiltinOperators.TEXT_CONSTRUCTOR,
                         ce(SequenceType.create(BuiltinTypeRegistry.XS_STRING, Quantifier.QUANT_ONE),
@@ -875,7 +890,7 @@ public class XMLQueryTranslator {
         return lVar;
     }
 
-    private LogicalVariable translateNCNameNode(TranslationContext tCtx, NCNameNode ncnNode) {
+    private LogicalVariable translateNCNameNode(TranslationContext tCtx, NCNameNode ncnNode) throws SystemException {
         LogicalVariable lVar = createAssignment(
                 ce(SequenceType.create(BuiltinTypeRegistry.XS_STRING, Quantifier.QUANT_ONE), ncnNode.getName()), tCtx);
         return lVar;
@@ -1174,7 +1189,7 @@ public class XMLQueryTranslator {
     }
 
     private LogicalVariable translateDirectCommentConstructorNode(TranslationContext tCtx,
-            DirectCommentConstructorNode dccNode) {
+            DirectCommentConstructorNode dccNode) throws SystemException {
         String content = dccNode.getContent();
         LogicalVariable lVar = createAssignment(
                 sfce(BuiltinOperators.COMMENT_CONSTRUCTOR,
@@ -1182,7 +1197,8 @@ public class XMLQueryTranslator {
         return lVar;
     }
 
-    private LogicalVariable translateDirectPIConstructorNode(TranslationContext tCtx, DirectPIConstructorNode dpicNode) {
+    private LogicalVariable translateDirectPIConstructorNode(TranslationContext tCtx, DirectPIConstructorNode dpicNode)
+            throws SystemException {
         String target = dpicNode.getTarget();
         String content = dpicNode.getContent();
         LogicalVariable lVar = createAssignment(
@@ -1196,24 +1212,27 @@ public class XMLQueryTranslator {
         String image = lNode.getImage();
         LiteralNode.LiteralType lType = lNode.getType();
         SequenceType t = null;
+        Object value = null;
         switch (lType) {
             case DECIMAL:
                 t = SequenceType.create(BuiltinTypeRegistry.XS_DECIMAL, Quantifier.QUANT_ONE);
                 break;
             case DOUBLE:
                 t = SequenceType.create(BuiltinTypeRegistry.XS_DOUBLE, Quantifier.QUANT_ONE);
+                Double.parseDouble(image);
                 break;
             case INTEGER:
                 t = SequenceType.create(BuiltinTypeRegistry.XS_INTEGER, Quantifier.QUANT_ONE);
+                value = Long.parseLong(image);
                 break;
             case STRING:
                 t = SequenceType.create(BuiltinTypeRegistry.XS_STRING, Quantifier.QUANT_ONE);
-                image = unquote(image);
+                value = unquote(image);
                 break;
             default:
                 throw new IllegalStateException("Unknown type: " + lType);
         }
-        LogicalVariable lVar = createAssignment(ce(t, image), tCtx);
+        LogicalVariable lVar = createAssignment(ce(t, value), tCtx);
         return lVar;
     }
 
@@ -1776,8 +1795,62 @@ public class XMLQueryTranslator {
         throw new IllegalStateException("Unknown operator: " + operator);
     }
 
-    private static ILogicalExpression ce(SequenceType type, Object value) {
-        return new ConstantExpression(new ConstantValue(type, value));
+    private ILogicalExpression ce(SequenceType type, Object value) throws SystemException {
+        ItemType it = type.getItemType();
+        if (it.isAtomicType()) {
+            AtomicType at = (AtomicType) it;
+            byte[] bytes = null;
+            switch (at.getTypeId()) {
+                case BuiltinTypeConstants.XS_BOOLEAN_TYPE_ID: {
+                    baaos.reset();
+                    try {
+                        dOut.write((byte) BuiltinTypeConstants.XS_BOOLEAN_TYPE_ID);
+                        dOut.writeByte(((Boolean) value).booleanValue() ? 1 : 0);
+                    } catch (IOException e) {
+                        throw new SystemException(ErrorCode.SYSE0001, e);
+                    }
+                    break;
+                }
+                case BuiltinTypeConstants.XS_INTEGER_TYPE_ID: {
+                    baaos.reset();
+                    try {
+                        dOut.write((byte) BuiltinTypeConstants.XS_INTEGER_TYPE_ID);
+                        dOut.writeLong(((Long) value).longValue());
+                    } catch (IOException e) {
+                        throw new SystemException(ErrorCode.SYSE0001, e);
+                    }
+                    break;
+                }
+                case BuiltinTypeConstants.XS_DOUBLE_TYPE_ID: {
+                    baaos.reset();
+                    try {
+                        dOut.write((byte) BuiltinTypeConstants.XS_DOUBLE_TYPE_ID);
+                        dOut.writeDouble(((Double) value).doubleValue());
+                    } catch (IOException e) {
+                        throw new SystemException(ErrorCode.SYSE0001, e);
+                    }
+                    break;
+                }
+                case BuiltinTypeConstants.XS_STRING_TYPE_ID: {
+                    baaos.reset();
+                    try {
+                        dOut.write((byte) BuiltinTypeConstants.XS_STRING_TYPE_ID);
+                        stringVB.write((CharSequence) value, dOut);
+                    } catch (IOException e) {
+                        throw new SystemException(ErrorCode.SYSE0001, e);
+                    }
+                    break;
+                }
+                case BuiltinTypeConstants.XSEXT_TYPE_TYPE_ID: {
+                    throw new UnsupportedOperationException();
+                }
+                default:
+                    throw new SystemException(ErrorCode.SYSE0001);
+            }
+            bytes = Arrays.copyOf(baaos.getByteArray(), baaos.size());
+            return new ConstantExpression(new VXQueryConstantValue(type, bytes));
+        }
+        throw new UnsupportedOperationException();
     }
 
     private static ILogicalExpression vre(LogicalVariable var) {
@@ -1817,7 +1890,7 @@ public class XMLQueryTranslator {
         return new ScalarFunctionCallExpression(fn, args);
     }
 
-    private static ILogicalExpression normalize(ILogicalExpression expr, SequenceType type) {
+    private ILogicalExpression normalize(ILogicalExpression expr, SequenceType type) throws SystemException {
         if (type.getItemType().isAtomicType()) {
             ILogicalExpression atomizedExpr = new ScalarFunctionCallExpression(BuiltinFunctions.FN_DATA_1,
                     Collections.singletonList(mutable(expr)));
@@ -1832,44 +1905,29 @@ public class XMLQueryTranslator {
         }
     }
 
-    private static ILogicalExpression promote(ILogicalExpression expr, SequenceType type) {
-        return sfce(
-                BuiltinOperators.PROMOTE,
-                expr,
-                new ConstantExpression(new ConstantValue(SequenceType.create(BuiltinTypeRegistry.XSEXT_TYPE,
-                        Quantifier.QUANT_ONE), type)));
-    }
-
-    private static ILogicalExpression treat(ILogicalExpression expr, SequenceType type) {
-        return sfce(
-                BuiltinOperators.TREAT,
-                expr,
-                new ConstantExpression(new ConstantValue(SequenceType.create(BuiltinTypeRegistry.XSEXT_TYPE,
-                        Quantifier.QUANT_ONE), type)));
-    }
-
-    private static ILogicalExpression cast(ILogicalExpression expr, SequenceType type) {
-        return sfce(
-                BuiltinOperators.CAST,
-                expr,
-                new ConstantExpression(new ConstantValue(SequenceType.create(BuiltinTypeRegistry.XSEXT_TYPE,
-                        Quantifier.QUANT_ONE), type)));
-    }
-
-    private static ILogicalExpression castable(ILogicalExpression expr, SequenceType type) {
-        return sfce(
-                BuiltinOperators.CASTABLE,
-                expr,
-                new ConstantExpression(new ConstantValue(SequenceType.create(BuiltinTypeRegistry.XSEXT_TYPE,
-                        Quantifier.QUANT_ONE), type)));
-    }
-
-    private static ILogicalExpression instanceOf(ILogicalExpression expr, SequenceType type) {
-        return sfce(
-                BuiltinOperators.INSTANCE_OF,
-                expr,
-                new ConstantExpression(new ConstantValue(SequenceType.create(BuiltinTypeRegistry.XSEXT_TYPE,
-                        Quantifier.QUANT_ONE), type)));
+    private ILogicalExpression promote(ILogicalExpression expr, SequenceType type) throws SystemException {
+        return sfce(BuiltinOperators.PROMOTE, expr,
+                ce(SequenceType.create(BuiltinTypeRegistry.XSEXT_TYPE, Quantifier.QUANT_ONE), type));
+    }
+
+    private ILogicalExpression treat(ILogicalExpression expr, SequenceType type) throws SystemException {
+        return sfce(BuiltinOperators.TREAT, expr,
+                ce(SequenceType.create(BuiltinTypeRegistry.XSEXT_TYPE, Quantifier.QUANT_ONE), type));
+    }
+
+    private ILogicalExpression cast(ILogicalExpression expr, SequenceType type) throws SystemException {
+        return sfce(BuiltinOperators.CAST, expr,
+                ce(SequenceType.create(BuiltinTypeRegistry.XSEXT_TYPE, Quantifier.QUANT_ONE), type));
+    }
+
+    private ILogicalExpression castable(ILogicalExpression expr, SequenceType type) throws SystemException {
+        return sfce(BuiltinOperators.CASTABLE, expr,
+                ce(SequenceType.create(BuiltinTypeRegistry.XSEXT_TYPE, Quantifier.QUANT_ONE), type));
+    }
+
+    private ILogicalExpression instanceOf(ILogicalExpression expr, SequenceType type) throws SystemException {
+        return sfce(BuiltinOperators.INSTANCE_OF, expr,
+                ce(SequenceType.create(BuiltinTypeRegistry.XSEXT_TYPE, Quantifier.QUANT_ONE), type));
     }
 
     private List<LogicalVariable> translateExpressionList(List<ASTNode> expressions, TranslationContext tCtx)

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/xslt/generate-fn-defns.xsl
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/xslt/generate-fn-defns.xsl?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/xslt/generate-fn-defns.xsl (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/xslt/generate-fn-defns.xsl Mon Jun 11 10:50:49 2012
@@ -36,19 +36,6 @@
                 </xsl:for-each>
                 ),
                 <xsl:choose>
-                    <xsl:when test="runtime/@class">
-                        new org.apache.vxquery.v0runtime.base.FunctionIteratorFactory() {
-                            @Override
-                            public org.apache.vxquery.v0runtime.base.RuntimeIterator createIterator(org.apache.vxquery.v0runtime.RegisterAllocator rAllocator, org.apache.vxquery.functions.Function fn, org.apache.vxquery.v0runtime.base.RuntimeIterator[] arguments, org.apache.vxquery.context.StaticContext ctx) {
-                                return new <xsl:value-of select="runtime/@class"/>(rAllocator, fn, arguments, ctx);
-                            }
-                        }
-                    </xsl:when>
-                    <xsl:otherwise>
-                        null
-                    </xsl:otherwise>
-                </xsl:choose>,
-                <xsl:choose>
                     <xsl:when test="@implicit-context = 'true'">
                         true
                     </xsl:when>

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/xslt/generate-op-defns.xsl
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/xslt/generate-op-defns.xsl?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/xslt/generate-op-defns.xsl (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/xslt/generate-op-defns.xsl Mon Jun 11 10:50:49 2012
@@ -34,20 +34,7 @@
                         createSequenceType("<xsl:value-of select="@type"/>")
                     )
                 </xsl:for-each>
-                ),
-                <xsl:choose>
-                    <xsl:when test="runtime/@class">
-                        new org.apache.vxquery.v0runtime.base.FunctionIteratorFactory() {
-                            @Override
-                            public org.apache.vxquery.v0runtime.base.RuntimeIterator createIterator(org.apache.vxquery.v0runtime.RegisterAllocator rAllocator, org.apache.vxquery.functions.Function fn, org.apache.vxquery.v0runtime.base.RuntimeIterator[] arguments, org.apache.vxquery.context.StaticContext ctx) {
-                                return new <xsl:value-of select="runtime/@class"/>(rAllocator, fn, arguments, ctx);
-                            }
-                        }
-                    </xsl:when>
-                    <xsl:otherwise>
-                        null
-                    </xsl:otherwise>
-                </xsl:choose>
+                )
                 );
         </xsl:for-each>
     </xsl:template>

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/test/java/org/apache/vxquery/xmlquery/query/SimpleXQueryTest.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/test/java/org/apache/vxquery/xmlquery/query/SimpleXQueryTest.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/test/java/org/apache/vxquery/xmlquery/query/SimpleXQueryTest.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/test/java/org/apache/vxquery/xmlquery/query/SimpleXQueryTest.java Mon Jun 11 10:50:49 2012
@@ -27,9 +27,10 @@ import junit.framework.Assert;
 import org.apache.vxquery.compiler.CompilerControlBlock;
 import org.apache.vxquery.context.RootStaticContextImpl;
 import org.apache.vxquery.context.StaticContextImpl;
-import org.apache.vxquery.exceptions.SystemException;
 import org.junit.Test;
 
+import edu.uci.ics.hyracks.dataflow.std.file.FileSplit;
+
 public class SimpleXQueryTest {
     @Test
     public void simple001() {
@@ -136,7 +137,7 @@ public class SimpleXQueryTest {
     private static void runTest(String testName, String query) {
         try {
             runTestInternal(testName, query);
-        } catch (SystemException e) {
+        } catch (Exception e) {
             e.printStackTrace();
             Assert.fail();
         }
@@ -146,14 +147,15 @@ public class SimpleXQueryTest {
         try {
             runTestInternal(testName, query);
             Assert.fail();
-        } catch (SystemException e) {
+        } catch (Exception e) {
             e.printStackTrace();
         }
     }
 
-    private static void runTestInternal(String testName, String query) throws SystemException {
+    private static void runTestInternal(String testName, String query) throws Exception {
         XMLQueryCompiler compiler = new XMLQueryCompiler(null);
-        CompilerControlBlock ccb = new CompilerControlBlock(new StaticContextImpl(RootStaticContextImpl.INSTANCE));
+        CompilerControlBlock ccb = new CompilerControlBlock(new StaticContextImpl(RootStaticContextImpl.INSTANCE),
+                new FileSplit[] { new FileSplit("CHANGE_ME", File.createTempFile("foo", ".bar").getAbsolutePath()) });
         compiler.compile(testName, new StringReader(query), ccb, Integer.MAX_VALUE);
     }
 }
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-xtest/src/main/java/org/apache/vxquery/xtest/TestRunnerFactory.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-xtest/src/main/java/org/apache/vxquery/xtest/TestRunnerFactory.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-xtest/src/main/java/org/apache/vxquery/xtest/TestRunnerFactory.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-xtest/src/main/java/org/apache/vxquery/xtest/TestRunnerFactory.java Mon Jun 11 10:50:49 2012
@@ -24,6 +24,8 @@ import org.apache.vxquery.context.RootSt
 import org.apache.vxquery.context.StaticContextImpl;
 import org.apache.vxquery.xmlquery.query.XMLQueryCompiler;
 
+import edu.uci.ics.hyracks.dataflow.std.file.FileSplit;
+
 public class TestRunnerFactory {
     private List<ResultReporter> reporters;
     private XTestOptions opts;
@@ -50,7 +52,7 @@ public class TestRunnerFactory {
                     XMLQueryCompiler compiler = new XMLQueryCompiler(null);
                     FileReader in = new FileReader(testCase.getXQueryFile());
                     CompilerControlBlock ccb = new CompilerControlBlock(new StaticContextImpl(
-                            RootStaticContextImpl.INSTANCE));
+                            RootStaticContextImpl.INSTANCE), new FileSplit[] {});
                     compiler.compile(testCase.getXQueryDisplayName(), in, ccb, opts.optimizationLevel);
                 } catch (Throwable e) {
                     res.error = e;