This commit was manufactured by cvs2svn to create tag 'v201001101919'.
diff --git a/bundles/org.eclipse.wst.xml.xpath.core/.classpath b/bundles/org.eclipse.wst.xml.xpath.core/.classpath
deleted file mode 100644
index 46df406..0000000
--- a/bundles/org.eclipse.wst.xml.xpath.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.wst.xml.xpath.core/.project b/bundles/org.eclipse.wst.xml.xpath.core/.project
deleted file mode 100644
index 0b90c1f..0000000
--- a/bundles/org.eclipse.wst.xml.xpath.core/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.xml.xpath.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.wst.xml.xpath.core/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.xml.xpath.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 44db239..0000000
--- a/bundles/org.eclipse.wst.xml.xpath.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Tue Apr 22 15:22:05 GMT-05:00 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/bundles/org.eclipse.wst.xml.xpath.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.xml.xpath.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 962b831..0000000
--- a/bundles/org.eclipse.wst.xml.xpath.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.xml.xpath.core; singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Bundle-ClassPath: .
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.wst.xml.xpath.core;uses:="org.osgi.framework,org.eclipse.core.runtime",
- org.eclipse.wst.xml.xpath.core.internal.preferences;x-internal:=true,
- org.eclipse.wst.xml.xpath.core.util;
-  uses:="org.apache.xml.utils,
-   org.w3c.dom.traversal,
-   org.apache.xpath.objects,
-   org.w3c.dom,
-   org.apache.xpath.compiler"
-Require-Bundle: org.eclipse.core.runtime.compatibility;bundle-version="[3.2.0,4.0.0)",
- org.apache.xalan;bundle-version="[2.7.1,2.8.0)",
- org.eclipse.wst.xml.xpath2.processor;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.wst.xml.core;bundle-version="1.1.0",
- org.eclipse.core.resources;bundle-version="3.5.0"
-Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.wst.xml.xpath.core/about.html b/bundles/org.eclipse.wst.xml.xpath.core/about.html
deleted file mode 100644
index 2199df3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath.core/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.wst.xml.xpath.core/build.properties b/bundles/org.eclipse.wst.xml.xpath.core/build.properties
deleted file mode 100644
index 6b9f6c9..0000000
--- a/bundles/org.eclipse.wst.xml.xpath.core/build.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-#  Copyright (c) 2008 Standards for Technology in Automotive Retail and others.
-#  All rights reserved. This program and the accompanying materials
-#  are made available under the terms of the Eclipse Public License v1.0
-#  which accompanies this distribution, and is available at
-#  http://www.eclipse.org/legal/epl-v10.html
-# 
-#  Contributors:
-#      David Carver - initial API and implementation
-#
-# $Id: build.properties,v 1.8 2009/12/25 20:46:50 dacarver Exp $
-
-bin.includes = .,\
-               META-INF/,\
-               plugin.properties,\
-               bin/,\
-               about.html,\
-               plugin.xml
-jars.compile.order = .
-source.. = src/
-output.. = bin/
-src.includes = src/,\
-               META-INF/,\
-               build.properties,\
-               plugin.properties,\
diff --git a/bundles/org.eclipse.wst.xml.xpath.core/plugin.properties b/bundles/org.eclipse.wst.xml.xpath.core/plugin.properties
deleted file mode 100644
index 6e29267..0000000
--- a/bundles/org.eclipse.wst.xml.xpath.core/plugin.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-#  Copyright (c) 2008 Standards for Technology in Automotive Retail and others.
-#  All rights reserved. This program and the accompanying materials
-#  are made available under the terms of the Eclipse Public License v1.0
-#  which accompanies this distribution, and is available at
-#  http://www.eclipse.org/legal/epl-v10.html
-# 
-#  Contributors:
-#      David Carver - initial API and implementation
-#
-# $Id: plugin.properties,v 1.3 2009/04/24 03:33:53 dacarver Exp $
-
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-
-pluginName = XPath Core
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.wst.xml.xpath.core/plugin.xml b/bundles/org.eclipse.wst.xml.xpath.core/plugin.xml
deleted file mode 100644
index 6b643a3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath.core/plugin.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-  <extension
-        point="org.eclipse.core.runtime.preferences">
-     <initializer
-           class="org.eclipse.wst.xml.xpath.core.internal.preferences.PreferenceInitializer">
-     </initializer>
-  </extension>	
-</plugin>
diff --git a/bundles/org.eclipse.wst.xml.xpath.core/src/org/eclipse/wst/xml/xpath/core/XPathCorePlugin.java b/bundles/org.eclipse.wst.xml.xpath.core/src/org/eclipse/wst/xml/xpath/core/XPathCorePlugin.java
deleted file mode 100644
index d229077..0000000
--- a/bundles/org.eclipse.wst.xml.xpath.core/src/org/eclipse/wst/xml/xpath/core/XPathCorePlugin.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Standards for Technology in Automotive Retail and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver (STAR) - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath.core;
-
-import org.eclipse.core.resources.ProjectScope;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.preferences.DefaultScope;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class XPathCorePlugin extends Plugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.wst.xml.xpath.core";
-
-	// The shared instance
-	private static XPathCorePlugin plugin;
-	
-
-	/**
-	 * The constructor
-	 */
-	public XPathCorePlugin() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
-	 */
-	@Override
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	@Override
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static XPathCorePlugin getDefault() {
-		return plugin;
-	}
-	
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath.core/src/org/eclipse/wst/xml/xpath/core/XPathProcessorPreferences.java b/bundles/org.eclipse.wst.xml.xpath.core/src/org/eclipse/wst/xml/xpath/core/XPathProcessorPreferences.java
deleted file mode 100644
index c685be4..0000000
--- a/bundles/org.eclipse.wst.xml.xpath.core/src/org/eclipse/wst/xml/xpath/core/XPathProcessorPreferences.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.eclipse.wst.xml.xpath.core;
-
-/**
- * XPath Processor preferences
- * @author dcarver
- * @since 1.1
- */
-public class XPathProcessorPreferences {
-
-	public static final String XPATH_1_0_PROCESSOR = "XPATH1.0";
-	public static final String XPATH_2_0_PROCESSOR = "XPATH2.0";
-	public static final String XPATH_OTHER = "OTHER";
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath.core/src/org/eclipse/wst/xml/xpath/core/internal/preferences/PreferenceInitializer.java b/bundles/org.eclipse.wst.xml.xpath.core/src/org/eclipse/wst/xml/xpath/core/internal/preferences/PreferenceInitializer.java
deleted file mode 100644
index 52e50c1..0000000
--- a/bundles/org.eclipse.wst.xml.xpath.core/src/org/eclipse/wst/xml/xpath/core/internal/preferences/PreferenceInitializer.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver (STAR) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xml.xpath.core.internal.preferences;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.core.runtime.preferences.DefaultScope;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.wst.xml.xpath.core.XPathCorePlugin;
-import org.eclipse.wst.xml.xpath.core.XPathProcessorPreferences;
-
-/**
- * Preferences initializer for XSL core preferences.
- * 
- * @author David Carver
- */
-public class PreferenceInitializer extends AbstractPreferenceInitializer
-{
-	@Override
-	public void initializeDefaultPreferences()
-	{
-		IEclipsePreferences node = new DefaultScope().getNode(XPathCorePlugin.PLUGIN_ID);
-		node.putBoolean(XPathProcessorPreferences.XPATH_1_0_PROCESSOR, true);
-		node.putBoolean(XPathProcessorPreferences.XPATH_2_0_PROCESSOR, false);
-		node.putBoolean(XPathProcessorPreferences.XPATH_OTHER, false);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath.core/src/org/eclipse/wst/xml/xpath/core/util/NodeListImpl.java b/bundles/org.eclipse.wst.xml.xpath.core/src/org/eclipse/wst/xml/xpath/core/util/NodeListImpl.java
deleted file mode 100644
index d247ead..0000000
--- a/bundles/org.eclipse.wst.xml.xpath.core/src/org/eclipse/wst/xml/xpath/core/util/NodeListImpl.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.wst.xml.xpath.core.util;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * @since 1.1
- */
-public class NodeListImpl implements NodeList {
-
-	ResultSequence rs;
-	
-	public NodeListImpl(ResultSequence result) {
-		rs = result;
-	}
-	
-	public int getLength() {
-		return rs.size();
-	}
-
-	public Node item(int arg0) {
-		AnyType type = rs.get(arg0);
-		if (type instanceof NodeType) {
-			NodeType nodeType = (NodeType) type;
-			return nodeType.node_value();
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath.core/src/org/eclipse/wst/xml/xpath/core/util/XPath20Helper.java b/bundles/org.eclipse.wst.xml.xpath.core/src/org/eclipse/wst/xml/xpath/core/util/XPath20Helper.java
deleted file mode 100644
index e099816..0000000
--- a/bundles/org.eclipse.wst.xml.xpath.core/src/org/eclipse/wst/xml/xpath/core/util/XPath20Helper.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     David Carver (STAR) - bug 226245 - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xml.xpath.core.util;
-
-import javax.xml.xpath.XPathExpressionException;
-
-import org.eclipse.wst.xml.xpath2.processor.JFlexCupParser;
-import org.eclipse.wst.xml.xpath2.processor.XPathParser;
-import org.eclipse.wst.xml.xpath2.processor.XPathParserException;
-
-/**
- * @since 1.0
- */
-public class XPath20Helper {
-
-	public XPath20Helper() {
-	}
-	
-	public static void compile(String xpathExp) throws XPathExpressionException {
-		try {
-			XPathParser xpathParser = new JFlexCupParser();
-			xpathParser.parse(xpathExp);
-		} catch (XPathParserException ex) {
-			throw new XPathExpressionException(ex.getMessage());
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath.core/src/org/eclipse/wst/xml/xpath/core/util/XPathCoreHelper.java b/bundles/org.eclipse.wst.xml.xpath.core/src/org/eclipse/wst/xml/xpath/core/util/XPathCoreHelper.java
deleted file mode 100644
index bd2ef9d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath.core/src/org/eclipse/wst/xml/xpath/core/util/XPathCoreHelper.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver - initial API
- *******************************************************************************/
-package org.eclipse.wst.xml.xpath.core.util;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.preferences.DefaultScope;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.wst.xml.xpath.core.XPathCorePlugin;
-import org.osgi.service.prefs.Preferences;
-
-public class XPathCoreHelper {
-
-	public static Preferences getPreferences() {
-		IEclipsePreferences prefs = Platform.getPreferencesService().getRootNode();
-		return prefs.node(DefaultScope.SCOPE).node(XPathCorePlugin.PLUGIN_ID);
-	}	
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath.core/src/org/eclipse/wst/xml/xpath/core/util/XSLTXPathHelper.java b/bundles/org.eclipse.wst.xml.xpath.core/src/org/eclipse/wst/xml/xpath/core/util/XSLTXPathHelper.java
deleted file mode 100644
index 22e35ee..0000000
--- a/bundles/org.eclipse.wst.xml.xpath.core/src/org/eclipse/wst/xml/xpath/core/util/XSLTXPathHelper.java
+++ /dev/null
@@ -1,377 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Standards for Technology in Automotive Retail and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver (STAR) - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath.core.util;
-
-import javax.xml.transform.TransformerException;
-import javax.xml.xpath.XPathExpressionException;
-
-import org.apache.xml.utils.PrefixResolver;
-import org.apache.xml.utils.PrefixResolverDefault;
-import org.apache.xpath.XPath;
-import org.apache.xpath.XPathContext;
-import org.apache.xpath.compiler.FunctionTable;
-import org.apache.xpath.jaxp.JAXPPrefixResolver;
-import org.apache.xpath.objects.XObject;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.traversal.NodeIterator;
-
-public class XSLTXPathHelper {
-
-	/**
-	 * Use an XPath string to select a single node. XPath namespace prefixes are
-	 * resolved from the context node, which may not be what you want (see the
-	 * next method).
-	 * 
-	 * @param contextNode
-	 *            The node to start searching from.
-	 * @param str
-	 *            A valid XPath string.
-	 * @return The first node found that matches the XPath, or null.
-	 * 
-	 * @throws TransformerException
-	 */
-	public static Node selectSingleNode(Node contextNode, String str)
-			throws TransformerException {
-		return selectSingleNode(contextNode, str, contextNode);
-	}
-
-	/**
-	 * Use an XPath string to select a single node. XPath namespace prefixes are
-	 * resolved from the namespaceNode.
-	 * 
-	 * @param contextNode
-	 *            The node to start searching from.
-	 * @param str
-	 *            A valid XPath string.
-	 * @param namespaceNode
-	 *            The node from which prefixes in the XPath will be resolved to
-	 *            namespaces.
-	 * @return The first node found that matches the XPath, or null.
-	 * 
-	 * @throws TransformerException
-	 */
-	public static Node selectSingleNode(Node contextNode, String str,
-			Node namespaceNode) throws TransformerException {
-
-		// Have the XObject return its result as a NodeSetDTM.
-		NodeIterator nl = selectNodeIterator(contextNode, str, namespaceNode);
-
-		// Return the first node, or null
-		return nl.nextNode();
-	}
-
-	/**
-	 * Use an XPath string to select a nodelist. XPath namespace prefixes are
-	 * resolved from the contextNode.
-	 * 
-	 * @param contextNode
-	 *            The node to start searching from.
-	 * @param str
-	 *            A valid XPath string.
-	 * @return A NodeIterator, should never be null.
-	 * 
-	 * @throws TransformerException
-	 */
-	public static NodeIterator selectNodeIterator(Node contextNode, String str)
-			throws TransformerException {
-		return selectNodeIterator(contextNode, str, contextNode);
-	}
-
-	/**
-	 * Use an XPath string to select a nodelist. XPath namespace prefixes are
-	 * resolved from the namespaceNode.
-	 * 
-	 * @param contextNode
-	 *            The node to start searching from.
-	 * @param str
-	 *            A valid XPath string.
-	 * @param namespaceNode
-	 *            The node from which prefixes in the XPath will be resolved to
-	 *            namespaces.
-	 * @return A NodeIterator, should never be null.
-	 * 
-	 * @throws TransformerException
-	 */
-	public static NodeIterator selectNodeIterator(Node contextNode, String str,
-			Node namespaceNode) throws TransformerException {
-
-		// Execute the XPath, and have it return the result
-		XObject list = eval(contextNode, str, namespaceNode);
-
-		// Have the XObject return its result as a NodeSetDTM.
-		return list.nodeset();
-	}
-
-	/**
-	 * Use an XPath string to select a nodelist. XPath namespace prefixes are
-	 * resolved from the contextNode.
-	 * 
-	 * @param contextNode
-	 *            The node to start searching from.
-	 * @param str
-	 *            A valid XPath string.
-	 * @return A NodeIterator, should never be null.
-	 * 
-	 * @throws TransformerException
-	 */
-	public static NodeList selectNodeList(Node contextNode, String str)
-			throws TransformerException {
-		return selectNodeList(contextNode, str, contextNode);
-	}
-
-	/**
-	 * Use an XPath string to select a nodelist. XPath namespace prefixes are
-	 * resolved from the namespaceNode.
-	 * 
-	 * @param contextNode
-	 *            The node to start searching from.
-	 * @param str
-	 *            A valid XPath string.
-	 * @param namespaceNode
-	 *            The node from which prefixes in the XPath will be resolved to
-	 *            namespaces.
-	 * @return A NodeIterator, should never be null.
-	 * 
-	 * @throws TransformerException
-	 */
-	public static NodeList selectNodeList(Node contextNode, String str,
-			Node namespaceNode) throws TransformerException {
-
-		// Execute the XPath, and have it return the result
-		XObject list = eval(contextNode, str, namespaceNode);
-
-		// Return a NodeList.
-		return list.nodelist();
-	}
-
-	/**
-	 * Evaluate XPath string to an XObject. Using this method, XPath namespace
-	 * prefixes will be resolved from the namespaceNode.
-	 * 
-	 * @param contextNode
-	 *            The node to start searching from.
-	 * @param str
-	 *            A valid XPath string.
-	 * @return An XObject, which can be used to obtain a string, number,
-	 *         nodelist, etc, should never be null.
-	 * @see org.apache.xpath.objects.XObject
-	 * @see org.apache.xpath.objects.XNull
-	 * @see org.apache.xpath.objects.XBoolean
-	 * @see org.apache.xpath.objects.XNumber
-	 * @see org.apache.xpath.objects.XString
-	 * @see org.apache.xpath.objects.XRTreeFrag
-	 * 
-	 * @throws TransformerException
-	 */
-	public static XObject eval(Node contextNode, String str)
-			throws TransformerException {
-		return eval(contextNode, str, contextNode);
-	}
-
-	/**
-	 * Evaluate XPath string to an XObject. XPath namespace prefixes are
-	 * resolved from the namespaceNode. The implementation of this is a little
-	 * slow, since it creates a number of objects each time it is called. This
-	 * could be optimized to keep the same objects around, but then
-	 * thread-safety issues would arise.
-	 * 
-	 * @param contextNode
-	 *            The node to start searching from.
-	 * @param str
-	 *            A valid XPath string.
-	 * @param namespaceNode
-	 *            The node from which prefixes in the XPath will be resolved to
-	 *            namespaces.
-	 * @return An XObject, which can be used to obtain a string, number,
-	 *         nodelist, etc, should never be null.
-	 * @see org.apache.xpath.objects.XObject
-	 * @see org.apache.xpath.objects.XNull
-	 * @see org.apache.xpath.objects.XBoolean
-	 * @see org.apache.xpath.objects.XNumber
-	 * @see org.apache.xpath.objects.XString
-	 * @see org.apache.xpath.objects.XRTreeFrag
-	 * 
-	 * @throws TransformerException
-	 * 
-	 */
-	public static XObject eval(Node contextNode, String str, Node namespaceNode)
-			throws TransformerException {
-
-		// Since we don't have a XML Parser involved here, install some default
-		// support
-		// for things like namespaces, etc.
-		// (Changed from: XPathContext xpathSupport = new XPathContext();
-		// because XPathContext is weak in a number of areas... perhaps
-		// XPathContext should be done away with.)
-		XPathContext xpathSupport = new XPathContext();
-
-		// Create an object to resolve namespace prefixes.
-		// XPath namespaces are resolved from the input context node's document
-		// element
-		// if it is a root node, or else the current context node (for lack of a
-		// better
-		// resolution space, given the simplicity of this sample code).		
-		PrefixResolverDefault prefixResolver = new PrefixResolverDefault(
-				(namespaceNode.getNodeType() == Node.DOCUMENT_NODE) ? ((Document) namespaceNode)
-						.getDocumentElement()
-						: namespaceNode);
-
-		// Create the XPath object.
-		XPath xpath = new XPath(str, null, prefixResolver, XPath.SELECT, null,
-				getFunctionTable());
-
-		// Execute the XPath, and have it return the result
-		// return xpath.execute(xpathSupport, contextNode, prefixResolver);
-		int ctxtNode = xpathSupport.getDTMHandleFromNode(contextNode);
-
-		return xpath.execute(xpathSupport, ctxtNode, prefixResolver);
-	}
-
-	/**
-	 * Evaluate XPath string to an XObject. XPath namespace prefixes are
-	 * resolved from the namespaceNode. The implementation of this is a little
-	 * slow, since it creates a number of objects each time it is called. This
-	 * could be optimized to keep the same objects around, but then
-	 * thread-safety issues would arise.
-	 * 
-	 * @param contextNode
-	 *            The node to start searching from.
-	 * @param str
-	 *            A valid XPath string.
-	 * @param prefixResolver
-	 *            Will be called if the parser encounters namespace prefixes, to
-	 *            resolve the prefixes to URLs.
-	 * @return An XObject, which can be used to obtain a string, number,
-	 *         nodelist, etc, should never be null.
-	 * @see org.apache.xpath.objects.XObject
-	 * @see org.apache.xpath.objects.XNull
-	 * @see org.apache.xpath.objects.XBoolean
-	 * @see org.apache.xpath.objects.XNumber
-	 * @see org.apache.xpath.objects.XString
-	 * @see org.apache.xpath.objects.XRTreeFrag
-	 * 
-	 * @throws TransformerException
-	 */
-	public static XObject eval(Node contextNode, String str,
-			PrefixResolver prefixResolver) throws TransformerException {
-
-		// Since we don't have a XML Parser involved here, install some default
-		// support
-		// for things like namespaces, etc.
-		// (Changed from: XPathContext xpathSupport = new XPathContext();
-		// because XPathContext is weak in a number of areas... perhaps
-		// XPathContext should be done away with.)
-		// Create the XPath object.
-		XPath xpath = new XPath(str, null, prefixResolver, XPath.SELECT, null,
-				getFunctionTable());
-
-		// Execute the XPath, and have it return the result
-		XPathContext xpathSupport = new XPathContext();
-		int ctxtNode = xpathSupport.getDTMHandleFromNode(contextNode);
-
-		return xpath.execute(xpathSupport, ctxtNode, prefixResolver);
-	}
-
-	public static void compile(String expression)
-			throws XPathExpressionException {
-		try {
-			new XPath(expression, null, null, org.apache.xpath.XPath.SELECT,
-					null, getFunctionTable());
-		} catch (javax.xml.transform.TransformerException te) {
-			throw new XPathExpressionException(te);
-		}
-
-	}
-
-	protected static FunctionTable getFunctionTable() {
-		FunctionTable functionTable = new FunctionTable();
-		functionTable.installFunction("key",
-				org.apache.xalan.templates.FuncKey.class);
-		functionTable.installFunction("format-number",
-				org.apache.xalan.templates.FuncFormatNumb.class);
-		functionTable.installFunction("document",
-				org.apache.xalan.templates.FuncDocument.class);
-		functionTable.installFunction("element-available",
-				org.apache.xpath.functions.FuncExtElementAvailable.class);
-		functionTable.installFunction("function-available",
-				org.apache.xpath.functions.FuncExtFunctionAvailable.class);
-		functionTable.installFunction("current",
-				org.apache.xpath.functions.FuncCurrent.class);
-		functionTable.installFunction("unparsed-entity-string",
-				org.apache.xpath.functions.FuncUnparsedEntityURI.class);
-		functionTable.installFunction("generate-id",
-				org.apache.xpath.functions.FuncGenerateId.class);
-		functionTable.installFunction("system-property",
-				org.apache.xpath.functions.FuncSystemProperty.class);
-		return functionTable;
-	}
-
-	/**
-	 * Returns a XPath expression given a DOM Node.
-	 * 
-	 * @param node
-	 *            The DOM Node to create the XPath expression.
-	 * @since 1.0
-	 */
-	public static String calculateXPathToNode(Node node) {
-		Node xpathNode = node;
-		StringBuffer sb = new StringBuffer();
-		while (xpathNode != null) {
-			switch (xpathNode.getNodeType()) {
-			case Node.ATTRIBUTE_NODE:
-				sb.insert(0, xpathNode.getNodeName());
-				sb.insert(0, "/@"); //$NON-NLS-1$
-				xpathNode = ((Attr) xpathNode).getOwnerElement();
-				break;
-			case Node.ELEMENT_NODE:
-				Node sibling = xpathNode;
-				int position = 1;
-				while ((sibling = sibling.getPreviousSibling()) != null) {
-					if (sibling.getNodeType() == Node.ELEMENT_NODE
-							&& sibling.getNodeName().equals(xpathNode.getNodeName())) {
-						++position;
-					}
-				}
-				if (position > 1) {
-					sb.insert(0, "[" + position + "]"); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-				else {
-					sibling = xpathNode.getNextSibling();
-					boolean following = false;
-					while (sibling != null) {
-						if (sibling.getNodeType() == Node.ELEMENT_NODE
-								&& sibling.getNodeName().equals(
-										xpathNode.getNodeName())) {
-							following = true;
-							break;
-						}
-						sibling = sibling.getNextSibling();
-					}
-					if (following) {
-						sb.insert(0, "[1]"); //$NON-NLS-1$
-					}
-				}
-				sb.insert(0, xpathNode.getNodeName());
-				sb.insert(0, "/"); //$NON-NLS-1$
-				xpathNode = xpathNode.getParentNode();
-				break;
-			default:
-				xpathNode = xpathNode.getParentNode();
-			}
-		}
-		return sb.toString();
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/.classpath b/bundles/org.eclipse.wst.xml.xpath2.processor/.classpath
deleted file mode 100644
index fc8e603..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry excluding="**/*.lex|**/*.cup" kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
-		<accessrules>
-			<accessrule kind="accessible" pattern="org/eclipse/wst/xml/xpath2/**"/>
-		</accessrules>
-	</classpathentry>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/.cvsignore b/bundles/org.eclipse.wst.xml.xpath2.processor/.cvsignore
deleted file mode 100644
index 1037dbe..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-lib
-.externalToolBuilders
-.byecycle
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/.project b/bundles/org.eclipse.wst.xml.xpath2.processor/.project
deleted file mode 100644
index 4469b29..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.xml.xpath2.processor</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/.settings/.api_filters b/bundles/org.eclipse.wst.xml.xpath2.processor/.settings/.api_filters
deleted file mode 100644
index bfc4a94..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/.settings/.api_filters
+++ /dev/null
@@ -1,389 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<component id="org.eclipse.wst.xml.xpath2.processor" version="2">
-    <resource path="src/org/eclipse/wst/xml/xpath2/processor/DefaultDynamicContext.java" type="org.eclipse.wst.xml.xpath2.processor.DefaultDynamicContext">
-        <filter id="338792546">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.DefaultDynamicContext"/>
-                <message_argument value="node_position(Node)"/>
-            </message_arguments>
-        </filter>
-        <filter id="338792546">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.DefaultDynamicContext"/>
-                <message_argument value="tz()"/>
-            </message_arguments>
-        </filter>
-        <filter id="338792546">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.DefaultDynamicContext"/>
-                <message_argument value="get_doc(String)"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/wst/xml/xpath2/processor/DynamicContext.java" type="org.eclipse.wst.xml.xpath2.processor.DynamicContext">
-        <filter id="403767336">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
-                <message_argument value="CODEPOINT_COLLATION"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
-                <message_argument value="get_collation(String)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
-                <message_argument value="tz()"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
-                <message_argument value="current_date_time()"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
-                <message_argument value="get_doc(URI)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
-                <message_argument value="evaluate_function(QName, Collection)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
-                <message_argument value="set_variable(QName, AnyType)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
-                <message_argument value="default_collation_name()"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
-                <message_argument value="resolve_uri(String)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
-                <message_argument value="get_variable(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
-                <message_argument value="getVariable(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="405901410">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
-                <message_argument value="get_variable(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="405901410">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
-                <message_argument value="set_variable(QName, AnyType)"/>
-            </message_arguments>
-        </filter>
-        <filter id="405901410">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
-                <message_argument value="tz()"/>
-            </message_arguments>
-        </filter>
-        <filter id="405901410">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
-                <message_argument value="evaluate_function(QName, Collection)"/>
-            </message_arguments>
-        </filter>
-        <filter id="405901410">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
-                <message_argument value="node_position(Node)"/>
-            </message_arguments>
-        </filter>
-        <filter id="405901410">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
-                <message_argument value="get_doc(String)"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/wst/xml/xpath2/processor/StaticContext.java" type="org.eclipse.wst.xml.xpath2.processor.StaticContext">
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="derives_from(NodeType, XSTypeDefinition)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="del_variable(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="variable_in_scope(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="make_atomic(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="attribute_type_definition(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="element_declared(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="get_collections()"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="set_collections(Map)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="expand_elem_type_qname(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="set_collections(Map&lt;String,List&lt;Document&gt;&gt;)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="derives_from(NodeType, QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="set_base_uri(String)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="variable_exists(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="add_variable(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="type_defined(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="attribute_declared(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="element_type_definition(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="set_collections(Map&lt;String,List&gt;)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="expand_qname(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="expand_function_qname(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="function_exists(QName, int)"/>
-            </message_arguments>
-        </filter>
-        <filter id="405901410">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="variable_exists(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="405901410">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="del_variable(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="405901410">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="expand_elem_type_qname(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="405901410">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="add_variable(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="405901410">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="function_exists(QName, int)"/>
-            </message_arguments>
-        </filter>
-        <filter id="405901410">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="element_type_definition(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="405901410">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="element_declared(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="405901410">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="expand_qname(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="405901410">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="make_atomic(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="405901410">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="expand_function_qname(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="405901410">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="variable_in_scope(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="405901410">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="attribute_type_definition(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="405901410">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="attribute_declared(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="405901410">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="derives_from(NodeType, XSTypeDefinition)"/>
-            </message_arguments>
-        </filter>
-        <filter id="405901410">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="derives_from(NodeType, QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="405901410">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-                <message_argument value="type_defined(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="643846161">
-            <message_arguments>
-                <message_argument value="QName"/>
-                <message_argument value="StaticContext"/>
-                <message_argument value="del_variable(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="643846161">
-            <message_arguments>
-                <message_argument value="QName"/>
-                <message_argument value="StaticContext"/>
-                <message_argument value="type_defined(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="1211105284">
-            <message_arguments>
-                <message_argument value="set_collections(Map)"/>
-            </message_arguments>
-        </filter>
-        <filter id="1211105284">
-            <message_arguments>
-                <message_argument value="expand_qname(QName)"/>
-            </message_arguments>
-        </filter>
-        <filter id="1211105284">
-            <message_arguments>
-                <message_argument value="element_type_definition(QName)"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/wst/xml/xpath2/processor/function/FnFunctionLibrary.java" type="org.eclipse.wst.xml.xpath2.processor.function.FnFunctionLibrary">
-        <filter id="388194388">
-            <message_arguments>
-                <message_argument value="org.eclipse.wst.xml.xpath2.processor.function.FnFunctionLibrary"/>
-                <message_argument value="XPATH_FUNCTIONS_NS"/>
-                <message_argument value="http://www.w3.org/2004/10/xpath-functions"/>
-            </message_arguments>
-        </filter>
-    </resource>
-</component>
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.xml.xpath2.processor/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 48a68cd..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,74 +0,0 @@
-#Tue Feb 10 05:34:51 GMT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.xml.xpath2.processor/META-INF/MANIFEST.MF
deleted file mode 100644
index 9c172aa..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.xml.xpath2.processor
-Bundle-Version: 1.1.001.qualifier
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- org.apache.xerces;bundle-version="[2.9.0,3.0.0)",
- java_cup.runtime;bundle-version="0.10.0",
- com.ibm.icu;bundle-version="[3.8.0,5.0.0)";resolution:=optional
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-ActivationPolicy: lazy
-Bundle-Activator: org.eclipse.wst.xml.xpath2.processor.internal.XPath2Plugin
-Export-Package: org.eclipse.wst.xml.xpath2.processor,
- org.eclipse.wst.xml.xpath2.processor.ast,
- org.eclipse.wst.xml.xpath2.processor.function,
- org.eclipse.wst.xml.xpath2.processor.internal;x-internal:=true,
- org.eclipse.wst.xml.xpath2.processor.internal.ast;x-internal:=true,
- org.eclipse.wst.xml.xpath2.processor.internal.function;x-internal:=true,
- org.eclipse.wst.xml.xpath2.processor.internal.types;x-internal:=true,
- org.eclipse.wst.xml.xpath2.processor.internal.types.userdefined;x-internal:=true,
- org.eclipse.wst.xml.xpath2.processor.internal.utils;x-internal:=true
-Bundle-Vendor: %provider
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/XPathCup.java b/bundles/org.eclipse.wst.xml.xpath2.processor/XPathCup.java
deleted file mode 100644
index 4a46dff..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/XPathCup.java
+++ /dev/null
@@ -1,6443 +0,0 @@
-
-//----------------------------------------------------
-// The following code was generated by CUP v0.10k
-// Mon Dec 14 02:02:22 CET 2009
-//----------------------------------------------------
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.*;
-import org.eclipse.wst.xml.xpath2.processor.ast.XPath;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/** CUP v0.10k generated parser.
-  * @version Mon Dec 14 02:02:22 CET 2009
-  */
-public class XPathCup extends java_cup.runtime.lr_parser {
-
-  /** Default constructor. */
-  public XPathCup() {super();}
-
-  /** Constructor which sets the default scanner. */
-  public XPathCup(java_cup.runtime.Scanner s) {super(s);}
-
-  /** Production table. */
-  protected static final short _production_table[][] = 
-    unpackFromStrings(new String[] {
-    "\000\u010f\000\002\114\003\000\002\002\004\000\002\033" +
-    "\003\000\002\033\005\000\002\061\003\000\002\061\003" +
-    "\000\002\061\003\000\002\061\003\000\002\115\005\000" +
-    "\002\036\007\000\002\036\010\000\002\116\007\000\002" +
-    "\116\007\000\002\035\005\000\002\035\010\000\002\117" +
-    "\012\000\002\066\003\000\002\066\005\000\002\065\003" +
-    "\000\002\065\005\000\002\070\003\000\002\070\005\000" +
-    "\002\070\005\000\002\070\005\000\002\067\003\000\002" +
-    "\067\005\000\002\062\003\000\002\062\005\000\002\062" +
-    "\005\000\002\057\003\000\002\057\005\000\002\057\005" +
-    "\000\002\057\005\000\002\057\005\000\002\056\003\000" +
-    "\002\056\005\000\002\056\005\000\002\060\003\000\002" +
-    "\060\005\000\002\060\005\000\002\054\003\000\002\054" +
-    "\006\000\002\052\003\000\002\052\006\000\002\053\003" +
-    "\000\002\053\006\000\002\055\003\000\002\055\006\000" +
-    "\002\047\003\000\002\047\004\000\002\047\004\000\002" +
-    "\121\003\000\002\063\003\000\002\063\003\000\002\063" +
-    "\003\000\002\063\003\000\002\063\003\000\002\063\003" +
-    "\000\002\064\003\000\002\064\003\000\002\064\003\000" +
-    "\002\064\003\000\002\064\003\000\002\064\003\000\002" +
-    "\027\003\000\002\027\003\000\002\027\003\000\002\120" +
-    "\003\000\002\120\004\000\002\120\004\000\002\120\003" +
-    "\000\002\046\003\000\002\046\005\000\002\046\005\000" +
-    "\002\045\003\000\002\045\003\000\002\122\004\000\002" +
-    "\122\004\000\002\043\004\000\002\043\003\000\002\026" +
-    "\004\000\002\026\004\000\002\026\004\000\002\026\004" +
-    "\000\002\026\004\000\002\026\004\000\002\026\004\000" +
-    "\002\026\004\000\002\044\004\000\002\044\003\000\002" +
-    "\041\004\000\002\041\003\000\002\025\004\000\002\025" +
-    "\004\000\002\025\004\000\002\025\004\000\002\025\004" +
-    "\000\002\042\003\000\002\040\003\000\002\040\003\000" +
-    "\002\071\003\000\002\071\003\000\002\023\003\000\002" +
-    "\023\005\000\002\123\004\000\002\034\004\000\002\034" +
-    "\002\000\002\124\005\000\002\037\003\000\002\037\003" +
-    "\000\002\037\003\000\002\037\003\000\002\037\003\000" +
-    "\002\073\003\000\002\073\003\000\002\077\003\000\002" +
-    "\077\003\000\002\077\003\000\002\074\004\000\002\032" +
-    "\004\000\002\032\005\000\002\075\003\000\002\076\005" +
-    "\000\002\076\006\000\002\031\003\000\002\031\005\000" +
-    "\002\050\003\000\002\050\004\000\002\051\003\000\002" +
-    "\051\004\000\002\051\005\000\002\024\003\000\002\024" +
-    "\003\000\002\024\003\000\002\030\003\000\002\030\003" +
-    "\000\002\030\005\000\002\020\003\000\002\072\003\000" +
-    "\002\072\003\000\002\072\003\000\002\072\003\000\002" +
-    "\072\003\000\002\072\003\000\002\072\003\000\002\072" +
-    "\003\000\002\072\003\000\002\110\005\000\002\103\005" +
-    "\000\002\103\006\000\002\103\006\000\002\104\005\000" +
-    "\002\105\005\000\002\106\005\000\002\106\006\000\002" +
-    "\106\006\000\002\107\005\000\002\107\006\000\002\107" +
-    "\010\000\002\016\003\000\002\016\003\000\002\112\006" +
-    "\000\002\015\003\000\002\111\005\000\002\111\006\000" +
-    "\002\111\010\000\002\111\011\000\002\012\003\000\002" +
-    "\012\003\000\002\113\006\000\002\011\003\000\002\017" +
-    "\003\000\002\014\003\000\002\013\003\000\002\101\003" +
-    "\000\002\100\003\000\002\102\003\000\002\010\003\000" +
-    "\002\022\003\000\002\021\003\000\002\021\005\000\002" +
-    "\003\003\000\002\004\003\000\002\007\003\000\002\005" +
-    "\003\000\002\005\003\000\002\005\003\000\002\005\003" +
-    "\000\002\005\003\000\002\005\003\000\002\005\003\000" +
-    "\002\005\003\000\002\005\003\000\002\005\003\000\002" +
-    "\005\003\000\002\005\003\000\002\005\003\000\002\005" +
-    "\003\000\002\005\003\000\002\005\003\000\002\005\003" +
-    "\000\002\005\003\000\002\005\003\000\002\005\003\000" +
-    "\002\005\003\000\002\005\003\000\002\005\003\000\002" +
-    "\005\003\000\002\005\003\000\002\005\003\000\002\005" +
-    "\003\000\002\005\003\000\002\005\003\000\002\005\003" +
-    "\000\002\005\003\000\002\005\003\000\002\005\003\000" +
-    "\002\005\003\000\002\005\003\000\002\005\003\000\002" +
-    "\005\003\000\002\005\003\000\002\005\003\000\002\005" +
-    "\003\000\002\005\003\000\002\005\003\000\002\005\003" +
-    "\000\002\005\003\000\002\005\003\000\002\005\003\000" +
-    "\002\005\003\000\002\005\003\000\002\005\003\000\002" +
-    "\005\003\000\002\006\003\000\002\006\003\000\002\006" +
-    "\003\000\002\006\003\000\002\006\003\000\002\006\003" +
-    "\000\002\006\003\000\002\006\003\000\002\006\003\000" +
-    "\002\006\003\000\002\006\003\000\002\006\003\000\002" +
-    "\006\003\000\002\006\003\000\002\006\003\000\002\006" +
-    "\003\000\002\006\003\000\002\006\003\000\002\006\003" +
-    "\000\002\006\003\000\002\006\003\000\002\006\003\000" +
-    "\002\006\003\000\002\006\003\000\002\006\003\000\002" +
-    "\006\003\000\002\006\003\000\002\006\003\000\002\006" +
-    "\003\000\002\006\003\000\002\006\003\000\002\006\003" +
-    "\000\002\006\003\000\002\006\003\000\002\006\003\000" +
-    "\002\125\002\000\002\006\005" });
-
-  /** Access to production table. */
-  public short[][] production_table() {return _production_table;}
-
-  /** Parse-action table. */
-  protected static final short[][] _action_table = 
-    unpackFromStrings(new String[] {
-    "\000\u0192\000\200\006\101\010\076\011\134\012\107\024" +
-    "\022\025\006\027\070\030\117\033\071\034\120\036\040" +
-    "\037\156\040\145\041\045\042\004\043\041\044\010\045" +
-    "\020\046\012\047\031\050\110\051\066\052\061\061\111" +
-    "\062\077\063\067\064\102\065\125\066\072\067\050\070" +
-    "\155\071\023\073\133\074\154\075\135\076\106\077\142" +
-    "\100\113\101\171\102\175\103\157\104\046\105\147\106" +
-    "\052\107\114\110\173\111\143\112\132\113\126\114\024" +
-    "\115\016\116\047\117\124\120\141\121\056\122\051\123" +
-    "\055\124\153\125\034\126\035\127\104\130\167\131\123" +
-    "\001\002\000\134\002\uff12\004\uff12\005\uff12\006\uff12\007" +
-    "\uff12\010\uff12\011\uff12\012\uff12\013\uff12\014\uff12\015\uff12" +
-    "\016\uff12\017\uff12\020\uff12\021\uff12\022\uff12\023\uff12\024" +
-    "\uff12\025\uff12\026\u0194\031\uff43\032\uff12\053\uff12\054\uff12" +
-    "\055\uff12\056\uff12\057\uff12\060\uff12\061\uff12\062\uff12\063" +
-    "\uff12\064\uff12\065\uff12\066\uff12\067\uff12\071\uff12\073\uff12" +
-    "\074\uff12\075\uff12\100\uff12\101\uff12\102\uff12\107\uff12\110" +
-    "\uff12\111\uff12\001\002\000\126\002\uff8d\004\uff8d\005\uff8d" +
-    "\007\uff8d\010\uff8d\011\uff8d\012\uff8d\013\uff8d\014\uff8d\015" +
-    "\uff8d\016\uff8d\017\uff8d\020\uff8d\021\uff8d\022\uff8d\023\uff8d" +
-    "\024\uff8d\025\uff8d\032\uff8d\053\uff8d\054\uff8d\055\uff8d\056" +
-    "\uff8d\057\uff8d\060\uff8d\061\uff8d\062\uff8d\063\uff8d\064\uff8d" +
-    "\065\uff8d\066\uff8d\067\uff8d\071\uff8d\073\uff8d\074\uff8d\075" +
-    "\uff8d\100\uff8d\101\uff8d\102\uff8d\107\uff8d\110\uff8d\111\uff8d" +
-    "\001\002\000\170\006\101\012\107\027\070\030\117\033" +
-    "\071\034\120\036\040\037\156\040\145\041\045\042\004" +
-    "\043\041\044\010\045\020\046\012\047\031\050\110\051" +
-    "\066\052\061\061\111\062\077\063\067\064\102\065\125" +
-    "\066\072\067\050\070\155\071\023\073\133\074\154\075" +
-    "\135\076\203\077\142\100\113\101\171\102\175\103\205" +
-    "\104\201\105\204\106\052\107\114\110\173\111\143\112" +
-    "\132\113\126\114\024\115\016\116\047\117\124\120\141" +
-    "\121\056\122\051\123\055\124\153\125\034\126\035\127" +
-    "\104\130\167\131\123\001\002\000\022\002\ufffa\005\ufffa" +
-    "\007\ufffa\032\ufffa\100\ufffa\101\ufffa\107\ufffa\111\u0191\001" +
-    "\002\000\134\002\uff10\004\uff10\005\uff10\006\uff10\007\uff10" +
-    "\010\uff10\011\uff10\012\uff10\013\uff10\014\uff10\015\uff10\016" +
-    "\uff10\017\uff10\020\uff10\021\uff10\022\uff10\023\uff10\024\uff10" +
-    "\025\uff10\026\u0190\031\uff41\032\uff10\053\uff10\054\uff10\055" +
-    "\uff10\056\uff10\057\uff10\060\uff10\061\uff10\062\uff10\063\uff10" +
-    "\064\uff10\065\uff10\066\uff10\067\uff10\071\uff10\073\uff10\074" +
-    "\uff10\075\uff10\100\uff10\101\uff10\102\uff10\107\uff10\110\uff10" +
-    "\111\uff10\001\002\000\146\012\107\036\232\037\240\040" +
-    "\u0124\041\241\042\237\043\236\044\250\045\226\046\246" +
-    "\047\244\050\225\051\242\052\243\061\111\062\077\063" +
-    "\067\064\102\065\125\066\072\067\050\070\155\071\023" +
-    "\073\133\074\154\075\135\076\203\077\142\100\113\101" +
-    "\171\102\175\103\205\104\201\105\204\106\052\107\114" +
-    "\110\173\111\143\112\132\113\126\114\024\115\016\116" +
-    "\047\117\124\120\141\121\056\122\051\123\055\124\153" +
-    "\131\123\001\002\000\134\002\uff0e\004\uff0e\005\uff0e\006" +
-    "\uff0e\007\uff0e\010\uff0e\011\uff0e\012\uff0e\013\uff0e\014\uff0e" +
-    "\015\uff0e\016\uff0e\017\uff0e\020\uff0e\021\uff0e\022\uff0e\023" +
-    "\uff0e\024\uff0e\025\uff0e\026\u018e\031\uff3f\032\uff0e\053\uff0e" +
-    "\054\uff0e\055\uff0e\056\uff0e\057\uff0e\060\uff0e\061\uff0e\062" +
-    "\uff0e\063\uff0e\064\uff0e\065\uff0e\066\uff0e\067\uff0e\071\uff0e" +
-    "\073\uff0e\074\uff0e\075\uff0e\100\uff0e\101\uff0e\102\uff0e\107" +
-    "\uff0e\110\uff0e\111\uff0e\001\002\000\004\002\u018d\001\002" +
-    "\000\120\002\uffd3\005\uffd3\007\uffd3\010\uffd3\011\uffd3\012" +
-    "\uffd3\013\uffd3\014\uffd3\015\uffd3\016\uffd3\017\uffd3\020\uffd3" +
-    "\021\uffd3\022\uffd3\023\uffd3\032\uffd3\053\uffd3\054\uffd3\055" +
-    "\uffd3\056\uffd3\057\uffd3\060\uffd3\061\uffd3\062\uffd3\063\uffd3" +
-    "\064\uffd3\065\uffd3\066\uffd3\067\uffd3\071\uffd3\073\uffd3\074" +
-    "\u018a\075\uffd3\100\uffd3\101\uffd3\102\uffd3\107\uffd3\110\uffd3" +
-    "\111\uffd3\001\002\000\112\002\uffd9\005\uffd9\007\uffd9\010" +
-    "\uffd9\011\uffd9\012\uffd9\013\uffd9\014\uffd9\015\uffd9\016\uffd9" +
-    "\017\uffd9\020\uffd9\021\uffd9\022\uffd9\023\uffd9\032\uffd9\053" +
-    "\uffd9\054\uffd9\055\uffd9\056\uffd9\057\uffd9\060\uffd9\061\uffd9" +
-    "\062\uffd9\063\uffd9\064\uffd9\065\uffd9\066\uffd9\067\u0187\075" +
-    "\uffd9\100\uffd9\101\uffd9\102\uffd9\107\uffd9\110\uffd9\111\uffd9" +
-    "\001\002\000\006\006\u017f\031\uff23\001\002\000\126\002" +
-    "\uff8c\004\uff8c\005\uff8c\007\uff8c\010\uff8c\011\uff8c\012\uff8c" +
-    "\013\uff8c\014\uff8c\015\uff8c\016\uff8c\017\uff8c\020\uff8c\021" +
-    "\uff8c\022\uff8c\023\uff8c\024\uff8c\025\uff8c\032\uff8c\053\uff8c" +
-    "\054\uff8c\055\uff8c\056\uff8c\057\uff8c\060\uff8c\061\uff8c\062" +
-    "\uff8c\063\uff8c\064\uff8c\065\uff8c\066\uff8c\067\uff8c\071\uff8c" +
-    "\073\uff8c\074\uff8c\075\uff8c\100\uff8c\101\uff8c\102\uff8c\107" +
-    "\uff8c\110\uff8c\111\uff8c\001\002\000\134\002\uff0f\004\uff0f" +
-    "\005\uff0f\006\uff0f\007\uff0f\010\uff0f\011\uff0f\012\uff0f\013" +
-    "\uff0f\014\uff0f\015\uff0f\016\uff0f\017\uff0f\020\uff0f\021\uff0f" +
-    "\022\uff0f\023\uff0f\024\uff0f\025\uff0f\026\u017e\031\uff40\032" +
-    "\uff0f\053\uff0f\054\uff0f\055\uff0f\056\uff0f\057\uff0f\060\uff0f" +
-    "\061\uff0f\062\uff0f\063\uff0f\064\uff0f\065\uff0f\066\uff0f\067" +
-    "\uff0f\071\uff0f\073\uff0f\074\uff0f\075\uff0f\100\uff0f\101\uff0f" +
-    "\102\uff0f\107\uff0f\110\uff0f\111\uff0f\001\002\000\126\002" +
-    "\uff91\004\uff91\005\uff91\007\uff91\010\uff91\011\uff91\012\uff91" +
-    "\013\uff91\014\uff91\015\uff91\016\uff91\017\uff91\020\uff91\021" +
-    "\uff91\022\uff91\023\uff91\024\uff91\025\uff91\032\uff91\053\uff91" +
-    "\054\uff91\055\uff91\056\uff91\057\uff91\060\uff91\061\uff91\062" +
-    "\uff91\063\uff91\064\uff91\065\uff91\066\uff91\067\uff91\071\uff91" +
-    "\073\uff91\074\uff91\075\uff91\100\uff91\101\uff91\102\uff91\107" +
-    "\uff91\110\uff91\111\uff91\001\002\000\242\002\uffbe\005\uffbe" +
-    "\006\101\007\uffbe\010\uffbe\011\uffbe\012\107\013\uffbe\014" +
-    "\uffbe\015\uffbe\016\uffbe\017\uffbe\020\uffbe\021\uffbe\022\uffbe" +
-    "\023\uffbe\027\070\030\117\032\uffbe\033\071\034\120\036" +
-    "\040\037\156\040\145\041\045\042\004\043\041\044\010" +
-    "\045\020\046\012\047\031\050\110\051\066\052\061\053" +
-    "\uffbe\054\uffbe\055\uffbe\056\uffbe\057\uffbe\060\uffbe\061\111" +
-    "\062\077\063\067\064\102\065\125\066\072\067\050\070" +
-    "\155\071\023\073\133\074\154\075\135\076\203\077\142" +
-    "\100\113\101\171\102\175\103\205\104\201\105\204\106" +
-    "\052\107\114\110\173\111\143\112\132\113\126\114\024" +
-    "\115\016\116\047\117\124\120\141\121\056\122\051\123" +
-    "\055\124\153\125\034\126\035\127\104\130\167\131\123" +
-    "\001\002\000\136\002\uff04\004\uff04\005\uff04\006\uff04\007" +
-    "\uff04\010\uff04\011\uff04\012\uff04\013\uff04\014\uff04\015\uff04" +
-    "\016\uff04\017\uff04\020\uff04\021\uff04\022\uff04\023\uff04\024" +
-    "\uff04\025\uff04\031\uff35\032\uff04\035\uff04\053\uff04\054\uff04" +
-    "\055\uff04\056\uff04\057\uff04\060\uff04\061\uff04\062\uff04\063" +
-    "\uff04\064\uff04\065\uff04\066\uff04\067\uff04\071\uff04\073\uff04" +
-    "\074\uff04\075\uff04\077\uff04\100\uff04\101\uff04\102\uff04\107" +
-    "\uff04\110\uff04\111\uff04\001\002\000\006\006\u017b\031\uff1f" +
-    "\001\002\000\130\002\uff77\004\uff77\005\uff77\007\uff77\010" +
-    "\uff77\011\uff77\012\uff77\013\uff77\014\uff77\015\uff77\016\uff77" +
-    "\017\uff77\020\uff77\021\uff77\022\uff77\023\uff77\024\uff77\025" +
-    "\uff77\032\uff77\035\uff77\053\uff77\054\uff77\055\uff77\056\uff77" +
-    "\057\uff77\060\uff77\061\uff77\062\uff77\063\uff77\064\uff77\065" +
-    "\uff77\066\uff77\067\uff77\071\uff77\073\uff77\074\uff77\075\uff77" +
-    "\100\uff77\101\uff77\102\uff77\107\uff77\110\uff77\111\uff77\001" +
-    "\002\000\130\002\uff71\004\uff71\005\uff71\007\uff71\010\uff71" +
-    "\011\uff71\012\uff71\013\uff71\014\uff71\015\uff71\016\uff71\017" +
-    "\uff71\020\uff71\021\uff71\022\uff71\023\uff71\024\uff71\025\uff71" +
-    "\032\uff71\035\uff71\053\uff71\054\uff71\055\uff71\056\uff71\057" +
-    "\uff71\060\uff71\061\uff71\062\uff71\063\uff71\064\uff71\065\uff71" +
-    "\066\uff71\067\uff71\071\uff71\073\uff71\074\uff71\075\uff71\100" +
-    "\uff71\101\uff71\102\uff71\107\uff71\110\uff71\111\uff71\001\002" +
-    "\000\070\002\uffe9\005\uffe9\007\uffe9\010\u0176\011\u0177\014" +
-    "\uffe9\015\uffe9\016\uffe9\017\uffe9\020\uffe9\021\uffe9\022\uffe9" +
-    "\023\uffe9\032\uffe9\053\uffe9\054\uffe9\055\uffe9\056\uffe9\057" +
-    "\uffe9\060\uffe9\075\uffe9\100\uffe9\101\uffe9\102\u0175\107\uffe9" +
-    "\110\uffe9\111\uffe9\001\002\000\124\002\uffb7\005\uffb7\007" +
-    "\uffb7\010\uffb7\011\uffb7\012\uffb7\013\uffb7\014\uffb7\015\uffb7" +
-    "\016\uffb7\017\uffb7\020\uffb7\021\uffb7\022\uffb7\023\uffb7\024" +
-    "\uffb7\025\uffb7\032\uffb7\053\uffb7\054\uffb7\055\uffb7\056\uffb7" +
-    "\057\uffb7\060\uffb7\061\uffb7\062\uffb7\063\uffb7\064\uffb7\065" +
-    "\uffb7\066\uffb7\067\uffb7\071\uffb7\073\uffb7\074\uffb7\075\uffb7" +
-    "\100\uffb7\101\uffb7\102\uffb7\107\uffb7\110\uffb7\111\uffb7\001" +
-    "\002\000\134\002\uff0d\004\uff0d\005\uff0d\006\uff0d\007\uff0d" +
-    "\010\uff0d\011\uff0d\012\uff0d\013\uff0d\014\uff0d\015\uff0d\016" +
-    "\uff0d\017\uff0d\020\uff0d\021\uff0d\022\uff0d\023\uff0d\024\uff0d" +
-    "\025\uff0d\026\u0174\031\uff3e\032\uff0d\053\uff0d\054\uff0d\055" +
-    "\uff0d\056\uff0d\057\uff0d\060\uff0d\061\uff0d\062\uff0d\063\uff0d" +
-    "\064\uff0d\065\uff0d\066\uff0d\067\uff0d\071\uff0d\073\uff0d\074" +
-    "\uff0d\075\uff0d\100\uff0d\101\uff0d\102\uff0d\107\uff0d\110\uff0d" +
-    "\111\uff0d\001\002\000\146\012\107\036\232\037\240\040" +
-    "\u0124\041\241\042\237\043\236\044\250\045\226\046\246" +
-    "\047\244\050\225\051\242\052\243\061\111\062\077\063" +
-    "\067\064\102\065\125\066\072\067\050\070\155\071\023" +
-    "\073\133\074\154\075\135\076\203\077\142\100\113\101" +
-    "\171\102\175\103\205\104\201\105\204\106\052\107\114" +
-    "\110\173\111\143\112\132\113\126\114\024\115\016\116" +
-    "\047\117\124\120\141\121\056\122\051\123\055\124\153" +
-    "\131\123\001\002\000\116\002\uffd5\005\uffd5\007\uffd5\010" +
-    "\uffd5\011\uffd5\012\uffd5\013\uffd5\014\uffd5\015\uffd5\016\uffd5" +
-    "\017\uffd5\020\uffd5\021\uffd5\022\uffd5\023\uffd5\032\uffd5\053" +
-    "\uffd5\054\uffd5\055\uffd5\056\uffd5\057\uffd5\060\uffd5\061\uffd5" +
-    "\062\uffd5\063\uffd5\064\uffd5\065\uffd5\066\uffd5\067\uffd5\071" +
-    "\uffd5\073\u016e\075\uffd5\100\uffd5\101\uffd5\102\uffd5\107\uffd5" +
-    "\110\uffd5\111\uffd5\001\002\000\126\002\uff53\004\uff53\005" +
-    "\uff53\007\uff53\010\uff53\011\uff53\012\uff53\013\uff53\014\uff53" +
-    "\015\uff53\016\uff53\017\uff53\020\uff53\021\uff53\022\uff53\023" +
-    "\uff53\024\uff53\025\uff53\032\uff53\053\uff53\054\uff53\055\uff53" +
-    "\056\uff53\057\uff53\060\uff53\061\uff53\062\uff53\063\uff53\064" +
-    "\uff53\065\uff53\066\uff53\067\uff53\071\uff53\073\uff53\074\uff53" +
-    "\075\uff53\100\uff53\101\uff53\102\uff53\107\uff53\110\uff53\111" +
-    "\uff53\001\002\000\126\002\uff51\004\uff51\005\uff51\007\uff51" +
-    "\010\uff51\011\uff51\012\uff51\013\uff51\014\uff51\015\uff51\016" +
-    "\uff51\017\uff51\020\uff51\021\uff51\022\uff51\023\uff51\024\uff51" +
-    "\025\uff51\032\uff51\053\uff51\054\uff51\055\uff51\056\uff51\057" +
-    "\uff51\060\uff51\061\uff51\062\uff51\063\uff51\064\uff51\065\uff51" +
-    "\066\uff51\067\uff51\071\uff51\073\uff51\074\uff51\075\uff51\100" +
-    "\uff51\101\uff51\102\uff51\107\uff51\110\uff51\111\uff51\001\002" +
-    "\000\020\002\ufffc\005\ufffc\007\ufffc\032\ufffc\100\ufffc\101" +
-    "\ufffc\107\ufffc\001\002\000\006\002\001\032\216\001\002" +
-    "\000\134\002\uff15\004\uff15\005\uff15\006\uff15\007\uff15\010" +
-    "\uff15\011\uff15\012\uff15\013\uff15\014\uff15\015\uff15\016\uff15" +
-    "\017\uff15\020\uff15\021\uff15\022\uff15\023\uff15\024\uff15\025" +
-    "\uff15\026\u016d\031\uff47\032\uff15\053\uff15\054\uff15\055\uff15" +
-    "\056\uff15\057\uff15\060\uff15\061\uff15\062\uff15\063\uff15\064" +
-    "\uff15\065\uff15\066\uff15\067\uff15\071\uff15\073\uff15\074\uff15" +
-    "\075\uff15\100\uff15\101\uff15\102\uff15\107\uff15\110\uff15\111" +
-    "\uff15\001\002\000\134\002\uff11\004\uff11\005\uff11\006\uff11" +
-    "\007\uff11\010\uff11\011\uff11\012\uff11\013\uff11\014\uff11\015" +
-    "\uff11\016\uff11\017\uff11\020\uff11\021\uff11\022\uff11\023\uff11" +
-    "\024\uff11\025\uff11\026\u016c\031\uff42\032\uff11\053\uff11\054" +
-    "\uff11\055\uff11\056\uff11\057\uff11\060\uff11\061\uff11\062\uff11" +
-    "\063\uff11\064\uff11\065\uff11\066\uff11\067\uff11\071\uff11\073" +
-    "\uff11\074\uff11\075\uff11\100\uff11\101\uff11\102\uff11\107\uff11" +
-    "\110\uff11\111\uff11\001\002\000\004\031\uff4c\001\002\000" +
-    "\110\002\uffdc\005\uffdc\007\uffdc\010\uffdc\011\uffdc\012\uffdc" +
-    "\013\uffdc\014\uffdc\015\uffdc\016\uffdc\017\uffdc\020\uffdc\021" +
-    "\uffdc\022\uffdc\023\uffdc\032\uffdc\053\uffdc\054\uffdc\055\uffdc" +
-    "\056\uffdc\057\uffdc\060\uffdc\061\uffdc\062\uffdc\063\uffdc\064" +
-    "\uffdc\065\uffdc\066\uffdc\075\uffdc\100\uffdc\101\uffdc\102\uffdc" +
-    "\107\uffdc\110\uffdc\111\uffdc\001\002\000\104\002\uffe4\005" +
-    "\uffe4\007\uffe4\010\uffe4\011\uffe4\012\uffe4\013\u0107\014\uffe4" +
-    "\015\uffe4\016\uffe4\017\uffe4\020\uffe4\021\uffe4\022\uffe4\023" +
-    "\uffe4\032\uffe4\053\uffe4\054\uffe4\055\uffe4\056\uffe4\057\uffe4" +
-    "\060\uffe4\061\uffe4\062\uffe4\063\uffe4\064\u0106\075\uffe4\100" +
-    "\uffe4\101\uffe4\102\uffe4\107\uffe4\110\uffe4\111\uffe4\001\002" +
-    "\000\134\002\uff13\004\uff13\005\uff13\006\uff13\007\uff13\010" +
-    "\uff13\011\uff13\012\uff13\013\uff13\014\uff13\015\uff13\016\uff13" +
-    "\017\uff13\020\uff13\021\uff13\022\uff13\023\uff13\024\uff13\025" +
-    "\uff13\026\u016b\031\uff44\032\uff13\053\uff13\054\uff13\055\uff13" +
-    "\056\uff13\057\uff13\060\uff13\061\uff13\062\uff13\063\uff13\064" +
-    "\uff13\065\uff13\066\uff13\067\uff13\071\uff13\073\uff13\074\uff13" +
-    "\075\uff13\100\uff13\101\uff13\102\uff13\107\uff13\110\uff13\111" +
-    "\uff13\001\002\000\134\002\ufefb\004\ufefb\005\ufefb\006\ufefb" +
-    "\007\ufefb\010\ufefb\011\ufefb\012\ufefb\013\ufefb\014\ufefb\015" +
-    "\ufefb\016\ufefb\017\ufefb\020\ufefb\021\ufefb\022\ufefb\023\ufefb" +
-    "\024\ufefb\025\ufefb\031\uff2c\032\ufefb\033\u0167\053\ufefb\054" +
-    "\ufefb\055\ufefb\056\ufefb\057\ufefb\060\ufefb\061\ufefb\062\ufefb" +
-    "\063\ufefb\064\ufefb\065\ufefb\066\ufefb\067\ufefb\071\ufefb\073" +
-    "\ufefb\074\ufefb\075\ufefb\100\ufefb\101\ufefb\102\ufefb\107\ufefb" +
-    "\110\ufefb\111\ufefb\001\002\000\006\006\u0165\031\uff1b\001" +
-    "\002\000\136\002\uff06\004\uff06\005\uff06\006\uff06\007\uff06" +
-    "\010\uff06\011\uff06\012\uff06\013\uff06\014\uff06\015\uff06\016" +
-    "\uff06\017\uff06\020\uff06\021\uff06\022\uff06\023\uff06\024\uff06" +
-    "\025\uff06\031\uff37\032\uff06\035\uff06\053\uff06\054\uff06\055" +
-    "\uff06\056\uff06\057\uff06\060\uff06\061\uff06\062\uff06\063\uff06" +
-    "\064\uff06\065\uff06\066\uff06\067\uff06\071\uff06\073\uff06\074" +
-    "\uff06\075\uff06\077\uff06\100\uff06\101\uff06\102\uff06\107\uff06" +
-    "\110\uff06\111\uff06\001\002\000\006\006\u015a\031\uff22\001" +
-    "\002\000\136\002\ufefa\004\ufefa\005\ufefa\006\ufefa\007\ufefa" +
-    "\010\ufefa\011\ufefa\012\ufefa\013\ufefa\014\ufefa\015\ufefa\016" +
-    "\ufefa\017\ufefa\020\ufefa\021\ufefa\022\ufefa\023\ufefa\024\ufefa" +
-    "\025\ufefa\031\uff2a\032\ufefa\035\ufefa\053\ufefa\054\ufefa\055" +
-    "\ufefa\056\ufefa\057\ufefa\060\ufefa\061\ufefa\062\ufefa\063\ufefa" +
-    "\064\ufefa\065\ufefa\066\ufefa\067\ufefa\071\ufefa\073\ufefa\074" +
-    "\ufefa\075\ufefa\077\ufefa\100\ufefa\101\ufefa\102\ufefa\107\ufefa" +
-    "\110\ufefa\111\ufefa\001\002\000\126\002\uff92\004\uff92\005" +
-    "\uff92\007\uff92\010\uff92\011\uff92\012\uff92\013\uff92\014\uff92" +
-    "\015\uff92\016\uff92\017\uff92\020\uff92\021\uff92\022\uff92\023" +
-    "\uff92\024\uff92\025\uff92\032\uff92\053\uff92\054\uff92\055\uff92" +
-    "\056\uff92\057\uff92\060\uff92\061\uff92\062\uff92\063\uff92\064" +
-    "\uff92\065\uff92\066\uff92\067\uff92\071\uff92\073\uff92\074\uff92" +
-    "\075\uff92\100\uff92\101\uff92\102\uff92\107\uff92\110\uff92\111" +
-    "\uff92\001\002\000\126\002\uff97\004\uff97\005\uff97\007\uff97" +
-    "\010\uff97\011\uff97\012\uff97\013\uff97\014\uff97\015\uff97\016" +
-    "\uff97\017\uff97\020\uff97\021\uff97\022\uff97\023\uff97\024\uff97" +
-    "\025\uff97\032\uff97\053\uff97\054\uff97\055\uff97\056\uff97\057" +
-    "\uff97\060\uff97\061\uff97\062\uff97\063\uff97\064\uff97\065\uff97" +
-    "\066\uff97\067\uff97\071\uff97\073\uff97\074\uff97\075\uff97\100" +
-    "\uff97\101\uff97\102\uff97\107\uff97\110\uff97\111\uff97\001\002" +
-    "\000\006\006\u0154\031\uff1c\001\002\000\006\006\u0150\031" +
-    "\uff1d\001\002\000\114\002\uffd7\005\uffd7\007\uffd7\010\uffd7" +
-    "\011\uffd7\012\uffd7\013\uffd7\014\uffd7\015\uffd7\016\uffd7\017" +
-    "\uffd7\020\uffd7\021\uffd7\022\uffd7\023\uffd7\032\uffd7\053\uffd7" +
-    "\054\uffd7\055\uffd7\056\uffd7\057\uffd7\060\uffd7\061\uffd7\062" +
-    "\uffd7\063\uffd7\064\uffd7\065\uffd7\066\uffd7\067\uffd7\071\u013f" +
-    "\075\uffd7\100\uffd7\101\uffd7\102\uffd7\107\uffd7\110\uffd7\111" +
-    "\uffd7\001\002\000\126\002\uff9f\004\uff9f\005\uff9f\007\uff9f" +
-    "\010\uff9f\011\uff9f\012\uff9f\013\uff9f\014\uff9f\015\uff9f\016" +
-    "\uff9f\017\uff9f\020\uff9f\021\uff9f\022\uff9f\023\uff9f\024\uff9f" +
-    "\025\uff9f\032\uff9f\053\uff9f\054\uff9f\055\uff9f\056\uff9f\057" +
-    "\uff9f\060\uff9f\061\uff9f\062\uff9f\063\uff9f\064\uff9f\065\uff9f" +
-    "\066\uff9f\067\uff9f\071\uff9f\073\uff9f\074\uff9f\075\uff9f\100" +
-    "\uff9f\101\uff9f\102\uff9f\107\uff9f\110\uff9f\111\uff9f\001\002" +
-    "\000\134\002\uff0a\004\uff0a\005\uff0a\006\uff0a\007\uff0a\010" +
-    "\uff0a\011\uff0a\012\uff0a\013\uff0a\014\uff0a\015\uff0a\016\uff0a" +
-    "\017\uff0a\020\uff0a\021\uff0a\022\uff0a\023\uff0a\024\uff0a\025" +
-    "\uff0a\026\u013e\031\uff3b\032\uff0a\053\uff0a\054\uff0a\055\uff0a" +
-    "\056\uff0a\057\uff0a\060\uff0a\061\uff0a\062\uff0a\063\uff0a\064" +
-    "\uff0a\065\uff0a\066\uff0a\067\uff0a\071\uff0a\073\uff0a\074\uff0a" +
-    "\075\uff0a\100\uff0a\101\uff0a\102\uff0a\107\uff0a\110\uff0a\111" +
-    "\uff0a\001\002\000\024\002\uffef\005\uffef\007\uffef\032\uffef" +
-    "\100\uffef\101\uffef\107\uffef\110\uffef\111\uffef\001\002\000" +
-    "\062\002\uffed\005\uffed\007\uffed\014\u0131\015\u0132\016\u0133" +
-    "\017\u012f\020\u012d\021\u013a\022\u0137\023\u012c\032\uffed\053" +
-    "\u0136\054\u012b\055\u012a\056\u0130\057\u012e\060\u0135\075\u0129" +
-    "\100\uffed\101\uffed\107\uffed\110\uffed\111\uffed\001\002\000" +
-    "\126\002\uff9c\004\uff9c\005\uff9c\007\uff9c\010\uff9c\011\uff9c" +
-    "\012\uff9c\013\uff9c\014\uff9c\015\uff9c\016\uff9c\017\uff9c\020" +
-    "\uff9c\021\uff9c\022\uff9c\023\uff9c\024\uff9c\025\uff9c\032\uff9c" +
-    "\053\uff9c\054\uff9c\055\uff9c\056\uff9c\057\uff9c\060\uff9c\061" +
-    "\uff9c\062\uff9c\063\uff9c\064\uff9c\065\uff9c\066\uff9c\067\uff9c" +
-    "\071\uff9c\073\uff9c\074\uff9c\075\uff9c\100\uff9c\101\uff9c\102" +
-    "\uff9c\107\uff9c\110\uff9c\111\uff9c\001\002\000\020\002\ufffb" +
-    "\005\ufffb\007\ufffb\032\ufffb\100\ufffb\101\ufffb\107\ufffb\001" +
-    "\002\000\134\002\uff0b\004\uff0b\005\uff0b\006\uff0b\007\uff0b" +
-    "\010\uff0b\011\uff0b\012\uff0b\013\uff0b\014\uff0b\015\uff0b\016" +
-    "\uff0b\017\uff0b\020\uff0b\021\uff0b\022\uff0b\023\uff0b\024\uff0b" +
-    "\025\uff0b\026\u0128\031\uff3c\032\uff0b\053\uff0b\054\uff0b\055" +
-    "\uff0b\056\uff0b\057\uff0b\060\uff0b\061\uff0b\062\uff0b\063\uff0b" +
-    "\064\uff0b\065\uff0b\066\uff0b\067\uff0b\071\uff0b\073\uff0b\074" +
-    "\uff0b\075\uff0b\100\uff0b\101\uff0b\102\uff0b\107\uff0b\110\uff0b" +
-    "\111\uff0b\001\002\000\006\012\ufef4\031\uff19\001\002\000" +
-    "\146\012\107\036\232\037\240\040\u0124\041\241\042\237" +
-    "\043\236\044\250\045\226\046\246\047\244\050\225\051" +
-    "\242\052\243\061\111\062\077\063\067\064\102\065\125" +
-    "\066\072\067\050\070\155\071\023\073\133\074\154\075" +
-    "\135\076\203\077\142\100\113\101\171\102\175\103\205" +
-    "\104\201\105\204\106\052\107\114\110\173\111\143\112" +
-    "\132\113\126\114\024\115\016\116\047\117\124\120\141" +
-    "\121\056\122\051\123\055\124\153\131\123\001\002\000" +
-    "\146\012\233\036\232\037\240\040\252\041\241\042\237" +
-    "\043\236\044\250\045\226\046\246\047\244\050\225\051" +
-    "\242\052\243\061\111\062\077\063\067\064\102\065\125" +
-    "\066\072\067\050\070\155\071\023\073\133\074\154\075" +
-    "\135\076\203\077\142\100\113\101\171\102\175\103\205" +
-    "\104\201\105\204\106\052\107\114\110\173\111\143\112" +
-    "\132\113\126\114\253\115\247\116\251\117\227\120\234" +
-    "\121\230\122\245\123\235\124\153\131\123\001\002\000" +
-    "\136\002\uff07\004\uff07\005\uff07\006\uff07\007\uff07\010\uff07" +
-    "\011\uff07\012\uff07\013\uff07\014\uff07\015\uff07\016\uff07\017" +
-    "\uff07\020\uff07\021\uff07\022\uff07\023\uff07\024\uff07\025\uff07" +
-    "\031\uff38\032\uff07\035\uff07\053\uff07\054\uff07\055\uff07\056" +
-    "\uff07\057\uff07\060\uff07\061\uff07\062\uff07\063\uff07\064\uff07" +
-    "\065\uff07\066\uff07\067\uff07\071\uff07\073\uff07\074\uff07\075" +
-    "\uff07\077\uff07\100\uff07\101\uff07\102\uff07\107\uff07\110\uff07" +
-    "\111\uff07\001\002\000\124\002\uffb6\005\uffb6\007\uffb6\010" +
-    "\uffb6\011\uffb6\012\uffb6\013\uffb6\014\uffb6\015\uffb6\016\uffb6" +
-    "\017\uffb6\020\uffb6\021\uffb6\022\uffb6\023\uffb6\024\uffb6\025" +
-    "\uffb6\032\uffb6\053\uffb6\054\uffb6\055\uffb6\056\uffb6\057\uffb6" +
-    "\060\uffb6\061\uffb6\062\uffb6\063\uffb6\064\uffb6\065\uffb6\066" +
-    "\uffb6\067\uffb6\071\uffb6\073\uffb6\074\uffb6\075\uffb6\100\uffb6" +
-    "\101\uffb6\102\uffb6\107\uffb6\110\uffb6\111\uffb6\001\002\000" +
-    "\130\002\uff72\004\uff72\005\uff72\007\uff72\010\uff72\011\uff72" +
-    "\012\uff72\013\uff72\014\uff72\015\uff72\016\uff72\017\uff72\020" +
-    "\uff72\021\uff72\022\uff72\023\uff72\024\uff72\025\uff72\032\uff72" +
-    "\035\uff72\053\uff72\054\uff72\055\uff72\056\uff72\057\uff72\060" +
-    "\uff72\061\uff72\062\uff72\063\uff72\064\uff72\065\uff72\066\uff72" +
-    "\067\uff72\071\uff72\073\uff72\074\uff72\075\uff72\100\uff72\101" +
-    "\uff72\102\uff72\107\uff72\110\uff72\111\uff72\001\002\000\012" +
-    "\002\uffff\005\uffff\007\uffff\032\uffff\001\002\000\200\006" +
-    "\101\010\076\011\134\012\107\024\022\025\006\027\070" +
-    "\030\117\033\071\034\120\036\040\037\156\040\145\041" +
-    "\045\042\004\043\041\044\010\045\020\046\012\047\031" +
-    "\050\110\051\066\052\061\061\111\062\077\063\067\064" +
-    "\102\065\125\066\072\067\050\070\155\071\023\073\133" +
-    "\074\154\075\135\076\203\077\142\100\113\101\171\102" +
-    "\175\103\205\104\201\105\204\106\052\107\114\110\173" +
-    "\111\143\112\132\113\126\114\024\115\016\116\047\117" +
-    "\124\120\141\121\056\122\051\123\055\124\153\125\034" +
-    "\126\035\127\104\130\167\131\123\001\002\000\136\002" +
-    "\ufef5\004\ufef5\005\ufef5\006\ufef5\007\ufef5\010\ufef5\011\ufef5" +
-    "\012\ufef5\013\ufef5\014\ufef5\015\ufef5\016\ufef5\017\ufef5\020" +
-    "\ufef5\021\ufef5\022\ufef5\023\ufef5\024\ufef5\025\ufef5\031\uff25" +
-    "\032\ufef5\035\ufef5\053\ufef5\054\ufef5\055\ufef5\056\ufef5\057" +
-    "\ufef5\060\ufef5\061\ufef5\062\ufef5\063\ufef5\064\ufef5\065\ufef5" +
-    "\066\ufef5\067\ufef5\071\ufef5\073\ufef5\074\ufef5\075\ufef5\077" +
-    "\ufef5\100\ufef5\101\ufef5\102\ufef5\107\ufef5\110\ufef5\111\ufef5" +
-    "\001\002\000\126\002\uff97\004\uff97\005\uff97\007\uff97\010" +
-    "\uff97\011\uff97\012\uff97\013\uff97\014\uff97\015\uff97\016\uff97" +
-    "\017\uff97\020\uff97\021\uff97\022\uff97\023\uff97\024\uff97\025" +
-    "\uff97\032\uff97\053\uff97\054\uff97\055\uff97\056\uff97\057\uff97" +
-    "\060\uff97\061\uff97\062\uff97\063\uff97\064\uff97\065\uff97\066" +
-    "\uff97\067\uff97\071\uff97\073\uff97\074\uff97\075\uff97\100\uff97" +
-    "\101\uff97\102\uff97\107\uff97\110\uff97\111\uff97\001\002\000" +
-    "\202\006\101\007\u011e\010\076\011\134\012\107\024\022" +
-    "\025\006\027\070\030\117\033\071\034\120\036\040\037" +
-    "\156\040\145\041\045\042\004\043\041\044\010\045\020" +
-    "\046\012\047\031\050\110\051\066\052\061\061\111\062" +
-    "\077\063\067\064\102\065\125\066\072\067\050\070\155" +
-    "\071\023\073\133\074\154\075\135\076\106\077\142\100" +
-    "\113\101\171\102\175\103\157\104\046\105\147\106\052" +
-    "\107\114\110\173\111\143\112\132\113\126\114\024\115" +
-    "\016\116\047\117\124\120\141\121\056\122\051\123\055" +
-    "\124\153\125\034\126\035\127\104\130\167\131\123\001" +
-    "\002\000\136\002\uff09\004\uff09\005\uff09\006\uff09\007\uff09" +
-    "\010\uff09\011\uff09\012\uff09\013\uff09\014\uff09\015\uff09\016" +
-    "\uff09\017\uff09\020\uff09\021\uff09\022\uff09\023\uff09\024\uff09" +
-    "\025\uff09\031\uff3a\032\uff09\035\uff09\053\uff09\054\uff09\055" +
-    "\uff09\056\uff09\057\uff09\060\uff09\061\uff09\062\uff09\063\uff09" +
-    "\064\uff09\065\uff09\066\uff09\067\uff09\071\uff09\073\uff09\074" +
-    "\uff09\075\uff09\077\uff09\100\uff09\101\uff09\102\uff09\107\uff09" +
-    "\110\uff09\111\uff09\001\002\000\130\002\uff9d\004\uff9d\005" +
-    "\uff9d\006\u0116\007\uff9d\010\uff9d\011\uff9d\012\uff9d\013\uff9d" +
-    "\014\uff9d\015\uff9d\016\uff9d\017\uff9d\020\uff9d\021\uff9d\022" +
-    "\uff9d\023\uff9d\024\uff9d\025\uff9d\032\uff9d\053\uff9d\054\uff9d" +
-    "\055\uff9d\056\uff9d\057\uff9d\060\uff9d\061\uff9d\062\uff9d\063" +
-    "\uff9d\064\uff9d\065\uff9d\066\uff9d\067\uff9d\071\uff9d\073\uff9d" +
-    "\074\uff9d\075\uff9d\100\uff9d\101\uff9d\102\uff9d\107\uff9d\110" +
-    "\uff9d\111\uff9d\001\002\000\126\002\uff52\004\uff52\005\uff52" +
-    "\007\uff52\010\uff52\011\uff52\012\uff52\013\uff52\014\uff52\015" +
-    "\uff52\016\uff52\017\uff52\020\uff52\021\uff52\022\uff52\023\uff52" +
-    "\024\uff52\025\uff52\032\uff52\053\uff52\054\uff52\055\uff52\056" +
-    "\uff52\057\uff52\060\uff52\061\uff52\062\uff52\063\uff52\064\uff52" +
-    "\065\uff52\066\uff52\067\uff52\071\uff52\073\uff52\074\uff52\075" +
-    "\uff52\100\uff52\101\uff52\102\uff52\107\uff52\110\uff52\111\uff52" +
-    "\001\002\000\130\002\uff76\004\uff76\005\uff76\007\uff76\010" +
-    "\uff76\011\uff76\012\uff76\013\uff76\014\uff76\015\uff76\016\uff76" +
-    "\017\uff76\020\uff76\021\uff76\022\uff76\023\uff76\024\uff76\025" +
-    "\uff76\032\uff76\035\uff76\053\uff76\054\uff76\055\uff76\056\uff76" +
-    "\057\uff76\060\uff76\061\uff76\062\uff76\063\uff76\064\uff76\065" +
-    "\uff76\066\uff76\067\uff76\071\uff76\073\uff76\074\uff76\075\uff76" +
-    "\100\uff76\101\uff76\102\uff76\107\uff76\110\uff76\111\uff76\001" +
-    "\002\000\134\002\uff00\004\uff00\005\uff00\006\uff00\007\uff00" +
-    "\010\uff00\011\uff00\012\uff00\013\uff00\014\uff00\015\uff00\016" +
-    "\uff00\017\uff00\020\uff00\021\uff00\022\uff00\023\uff00\024\uff00" +
-    "\025\uff00\031\uff31\032\uff00\033\u0112\053\uff00\054\uff00\055" +
-    "\uff00\056\uff00\057\uff00\060\uff00\061\uff00\062\uff00\063\uff00" +
-    "\064\uff00\065\uff00\066\uff00\067\uff00\071\uff00\073\uff00\074" +
-    "\uff00\075\uff00\100\uff00\101\uff00\102\uff00\107\uff00\110\uff00" +
-    "\111\uff00\001\002\000\130\002\uff9b\004\uff9b\005\uff9b\007" +
-    "\uff9b\010\uff9b\011\uff9b\012\uff9b\013\uff9b\014\uff9b\015\uff9b" +
-    "\016\uff9b\017\uff9b\020\uff9b\021\uff9b\022\uff9b\023\uff9b\024" +
-    "\uff9b\025\uff9b\031\u0110\032\uff9b\053\uff9b\054\uff9b\055\uff9b" +
-    "\056\uff9b\057\uff9b\060\uff9b\061\uff9b\062\uff9b\063\uff9b\064" +
-    "\uff9b\065\uff9b\066\uff9b\067\uff9b\071\uff9b\073\uff9b\074\uff9b" +
-    "\075\uff9b\100\uff9b\101\uff9b\102\uff9b\107\uff9b\110\uff9b\111" +
-    "\uff9b\001\002\000\134\002\uff0c\004\uff0c\005\uff0c\006\uff0c" +
-    "\007\uff0c\010\uff0c\011\uff0c\012\uff0c\013\uff0c\014\uff0c\015" +
-    "\uff0c\016\uff0c\017\uff0c\020\uff0c\021\uff0c\022\uff0c\023\uff0c" +
-    "\024\uff0c\025\uff0c\026\u010f\031\uff3d\032\uff0c\053\uff0c\054" +
-    "\uff0c\055\uff0c\056\uff0c\057\uff0c\060\uff0c\061\uff0c\062\uff0c" +
-    "\063\uff0c\064\uff0c\065\uff0c\066\uff0c\067\uff0c\071\uff0c\073" +
-    "\uff0c\074\uff0c\075\uff0c\100\uff0c\101\uff0c\102\uff0c\107\uff0c" +
-    "\110\uff0c\111\uff0c\001\002\000\136\002\ufef6\004\ufef6\005" +
-    "\ufef6\006\ufef6\007\ufef6\010\ufef6\011\ufef6\012\ufef6\013\ufef6" +
-    "\014\ufef6\015\ufef6\016\ufef6\017\ufef6\020\ufef6\021\ufef6\022" +
-    "\ufef6\023\ufef6\024\ufef6\025\ufef6\031\uff26\032\ufef6\035\ufef6" +
-    "\053\ufef6\054\ufef6\055\ufef6\056\ufef6\057\ufef6\060\ufef6\061" +
-    "\ufef6\062\ufef6\063\ufef6\064\ufef6\065\ufef6\066\ufef6\067\ufef6" +
-    "\071\ufef6\073\ufef6\074\ufef6\075\ufef6\077\ufef6\100\ufef6\101" +
-    "\ufef6\102\ufef6\107\ufef6\110\ufef6\111\ufef6\001\002\000\134" +
-    "\002\uff4a\004\uff4a\005\uff4a\006\uff4a\007\uff4a\010\uff4a\011" +
-    "\uff4a\012\uff4a\013\uff4a\014\uff4a\015\uff4a\016\uff4a\017\uff4a" +
-    "\020\uff4a\021\uff4a\022\uff4a\023\uff4a\024\uff4a\025\uff4a\032" +
-    "\uff4a\035\uff4a\053\uff4a\054\uff4a\055\uff4a\056\uff4a\057\uff4a" +
-    "\060\uff4a\061\uff4a\062\uff4a\063\uff4a\064\uff4a\065\uff4a\066" +
-    "\uff4a\067\uff4a\071\uff4a\073\uff4a\074\uff4a\075\uff4a\077\uff4a" +
-    "\100\uff4a\101\uff4a\102\uff4a\107\uff4a\110\uff4a\111\uff4a\001" +
-    "\002\000\136\002\ufefe\004\ufefe\005\ufefe\006\ufefe\007\ufefe" +
-    "\010\ufefe\011\ufefe\012\ufefe\013\ufefe\014\ufefe\015\ufefe\016" +
-    "\ufefe\017\ufefe\020\ufefe\021\ufefe\022\ufefe\023\ufefe\024\ufefe" +
-    "\025\ufefe\031\uff2f\032\ufefe\035\ufefe\053\ufefe\054\ufefe\055" +
-    "\ufefe\056\ufefe\057\ufefe\060\ufefe\061\ufefe\062\ufefe\063\ufefe" +
-    "\064\ufefe\065\ufefe\066\ufefe\067\ufefe\071\ufefe\073\ufefe\074" +
-    "\ufefe\075\ufefe\077\ufefe\100\ufefe\101\ufefe\102\ufefe\107\ufefe" +
-    "\110\ufefe\111\ufefe\001\002\000\136\002\ufef9\004\ufef9\005" +
-    "\ufef9\006\ufef9\007\ufef9\010\ufef9\011\ufef9\012\ufef9\013\ufef9" +
-    "\014\ufef9\015\ufef9\016\ufef9\017\ufef9\020\ufef9\021\ufef9\022" +
-    "\ufef9\023\ufef9\024\ufef9\025\ufef9\031\uff29\032\ufef9\035\ufef9" +
-    "\053\ufef9\054\ufef9\055\ufef9\056\ufef9\057\ufef9\060\ufef9\061" +
-    "\ufef9\062\ufef9\063\ufef9\064\ufef9\065\ufef9\066\ufef9\067\ufef9" +
-    "\071\ufef9\073\ufef9\074\ufef9\075\ufef9\077\ufef9\100\ufef9\101" +
-    "\ufef9\102\ufef9\107\ufef9\110\ufef9\111\ufef9\001\002\000\126" +
-    "\002\uff94\004\uff94\005\uff94\007\uff94\010\uff94\011\uff94\012" +
-    "\uff94\013\uff94\014\uff94\015\uff94\016\uff94\017\uff94\020\uff94" +
-    "\021\uff94\022\uff94\023\uff94\024\uff94\025\uff94\032\uff94\053" +
-    "\uff94\054\uff94\055\uff94\056\uff94\057\uff94\060\uff94\061\uff94" +
-    "\062\uff94\063\uff94\064\uff94\065\uff94\066\uff94\067\uff94\071" +
-    "\uff94\073\uff94\074\uff94\075\uff94\100\uff94\101\uff94\102\uff94" +
-    "\107\uff94\110\uff94\111\uff94\001\002\000\020\002\ufffd\005" +
-    "\ufffd\007\ufffd\032\ufffd\100\ufffd\101\ufffd\107\ufffd\001\002" +
-    "\000\126\002\uffa0\004\uffa0\005\uffa0\007\uffa0\010\uffa0\011" +
-    "\uffa0\012\uffa0\013\uffa0\014\uffa0\015\uffa0\016\uffa0\017\uffa0" +
-    "\020\uffa0\021\uffa0\022\uffa0\023\uffa0\024\uffa0\025\uffa0\032" +
-    "\uffa0\053\uffa0\054\uffa0\055\uffa0\056\uffa0\057\uffa0\060\uffa0" +
-    "\061\uffa0\062\uffa0\063\uffa0\064\uffa0\065\uffa0\066\uffa0\067" +
-    "\uffa0\071\uffa0\073\uffa0\074\uffa0\075\uffa0\100\uffa0\101\uffa0" +
-    "\102\uffa0\107\uffa0\110\uffa0\111\uffa0\001\002\000\126\002" +
-    "\uff88\004\uff88\005\uff88\007\uff88\010\uff88\011\uff88\012\uff88" +
-    "\013\uff88\014\uff88\015\uff88\016\uff88\017\uff88\020\uff88\021" +
-    "\uff88\022\uff88\023\uff88\024\uff88\025\uff88\032\uff88\053\uff88" +
-    "\054\uff88\055\uff88\056\uff88\057\uff88\060\uff88\061\uff88\062" +
-    "\uff88\063\uff88\064\uff88\065\uff88\066\uff88\067\uff88\071\uff88" +
-    "\073\uff88\074\uff88\075\uff88\100\uff88\101\uff88\102\uff88\107" +
-    "\uff88\110\uff88\111\uff88\001\002\000\130\002\uff74\004\uff74" +
-    "\005\uff74\007\uff74\010\uff74\011\uff74\012\uff74\013\uff74\014" +
-    "\uff74\015\uff74\016\uff74\017\uff74\020\uff74\021\uff74\022\uff74" +
-    "\023\uff74\024\uff74\025\uff74\032\uff74\035\uff74\053\uff74\054" +
-    "\uff74\055\uff74\056\uff74\057\uff74\060\uff74\061\uff74\062\uff74" +
-    "\063\uff74\064\uff74\065\uff74\066\uff74\067\uff74\071\uff74\073" +
-    "\uff74\074\uff74\075\uff74\100\uff74\101\uff74\102\uff74\107\uff74" +
-    "\110\uff74\111\uff74\001\002\000\130\002\uff75\004\uff75\005" +
-    "\uff75\007\uff75\010\uff75\011\uff75\012\uff75\013\uff75\014\uff75" +
-    "\015\uff75\016\uff75\017\uff75\020\uff75\021\uff75\022\uff75\023" +
-    "\uff75\024\uff75\025\uff75\032\uff75\035\uff75\053\uff75\054\uff75" +
-    "\055\uff75\056\uff75\057\uff75\060\uff75\061\uff75\062\uff75\063" +
-    "\uff75\064\uff75\065\uff75\066\uff75\067\uff75\071\uff75\073\uff75" +
-    "\074\uff75\075\uff75\100\uff75\101\uff75\102\uff75\107\uff75\110" +
-    "\uff75\111\uff75\001\002\000\136\002\uff17\004\uff17\005\uff17" +
-    "\006\uff17\007\uff17\010\uff17\011\uff17\012\uff17\013\uff17\014" +
-    "\uff17\015\uff17\016\uff17\017\uff17\020\uff17\021\uff17\022\uff17" +
-    "\023\uff17\024\uff17\025\uff17\031\uff49\032\uff17\035\uff17\053" +
-    "\uff17\054\uff17\055\uff17\056\uff17\057\uff17\060\uff17\061\uff17" +
-    "\062\uff17\063\uff17\064\uff17\065\uff17\066\uff17\067\uff17\071" +
-    "\uff17\073\uff17\074\uff17\075\uff17\077\uff17\100\uff17\101\uff17" +
-    "\102\uff17\107\uff17\110\uff17\111\uff17\001\002\000\006\006" +
-    "\u010d\031\uff24\001\002\000\136\002\uff08\004\uff08\005\uff08" +
-    "\006\uff08\007\uff08\010\uff08\011\uff08\012\uff08\013\uff08\014" +
-    "\uff08\015\uff08\016\uff08\017\uff08\020\uff08\021\uff08\022\uff08" +
-    "\023\uff08\024\uff08\025\uff08\031\uff39\032\uff08\035\uff08\053" +
-    "\uff08\054\uff08\055\uff08\056\uff08\057\uff08\060\uff08\061\uff08" +
-    "\062\uff08\063\uff08\064\uff08\065\uff08\066\uff08\067\uff08\071" +
-    "\uff08\073\uff08\074\uff08\075\uff08\077\uff08\100\uff08\101\uff08" +
-    "\102\uff08\107\uff08\110\uff08\111\uff08\001\002\000\136\002" +
-    "\uff20\004\uff20\005\uff20\006\uff20\007\uff20\010\uff20\011\uff20" +
-    "\012\uff20\013\uff20\014\uff20\015\uff20\016\uff20\017\uff20\020" +
-    "\uff20\021\uff20\022\uff20\023\uff20\024\uff20\025\uff20\031\uff20" +
-    "\032\uff20\035\uff20\053\uff20\054\uff20\055\uff20\056\uff20\057" +
-    "\uff20\060\uff20\061\uff20\062\uff20\063\uff20\064\uff20\065\uff20" +
-    "\066\uff20\067\uff20\071\uff20\073\uff20\074\uff20\075\uff20\077" +
-    "\uff20\100\uff20\101\uff20\102\uff20\107\uff20\110\uff20\111\uff20" +
-    "\001\002\000\100\002\uffe7\005\uffe7\007\uffe7\010\uffe7\011" +
-    "\uffe7\012\u0101\014\uffe7\015\uffe7\016\uffe7\017\uffe7\020\uffe7" +
-    "\021\uffe7\022\uffe7\023\uffe7\032\uffe7\053\uffe7\054\uffe7\055" +
-    "\uffe7\056\uffe7\057\uffe7\060\uffe7\061\u0103\062\u0104\063\u0102" +
-    "\075\uffe7\100\uffe7\101\uffe7\102\uffe7\107\uffe7\110\uffe7\111" +
-    "\uffe7\001\002\000\124\002\uffbb\005\uffbb\007\uffbb\010\uffbb" +
-    "\011\uffbb\012\uffbb\013\uffbb\014\uffbb\015\uffbb\016\uffbb\017" +
-    "\uffbb\020\uffbb\021\uffbb\022\uffbb\023\uffbb\024\375\025\376" +
-    "\032\uffbb\053\uffbb\054\uffbb\055\uffbb\056\uffbb\057\uffbb\060" +
-    "\uffbb\061\uffbb\062\uffbb\063\uffbb\064\uffbb\065\uffbb\066\uffbb" +
-    "\067\uffbb\071\uffbb\073\uffbb\074\uffbb\075\uffbb\100\uffbb\101" +
-    "\uffbb\102\uffbb\107\uffbb\110\uffbb\111\uffbb\001\002\000\130" +
-    "\002\uff73\004\uff73\005\uff73\007\uff73\010\uff73\011\uff73\012" +
-    "\uff73\013\uff73\014\uff73\015\uff73\016\uff73\017\uff73\020\uff73" +
-    "\021\uff73\022\uff73\023\uff73\024\uff73\025\uff73\032\uff73\035" +
-    "\uff73\053\uff73\054\uff73\055\uff73\056\uff73\057\uff73\060\uff73" +
-    "\061\uff73\062\uff73\063\uff73\064\uff73\065\uff73\066\uff73\067" +
-    "\uff73\071\uff73\073\uff73\074\uff73\075\uff73\100\uff73\101\uff73" +
-    "\102\uff73\107\uff73\110\uff73\111\uff73\001\002\000\136\002" +
-    "\uff21\004\uff21\005\uff21\006\uff21\007\uff21\010\uff21\011\uff21" +
-    "\012\uff21\013\uff21\014\uff21\015\uff21\016\uff21\017\uff21\020" +
-    "\uff21\021\uff21\022\uff21\023\uff21\024\uff21\025\uff21\031\uff21" +
-    "\032\uff21\035\uff21\053\uff21\054\uff21\055\uff21\056\uff21\057" +
-    "\uff21\060\uff21\061\uff21\062\uff21\063\uff21\064\uff21\065\uff21" +
-    "\066\uff21\067\uff21\071\uff21\073\uff21\074\uff21\075\uff21\077" +
-    "\uff21\100\uff21\101\uff21\102\uff21\107\uff21\110\uff21\111\uff21" +
-    "\001\002\000\136\002\uff03\004\uff03\005\uff03\006\uff03\007" +
-    "\uff03\010\uff03\011\uff03\012\uff03\013\uff03\014\uff03\015\uff03" +
-    "\016\uff03\017\uff03\020\uff03\021\uff03\022\uff03\023\uff03\024" +
-    "\uff03\025\uff03\031\uff34\032\uff03\035\uff03\053\uff03\054\uff03" +
-    "\055\uff03\056\uff03\057\uff03\060\uff03\061\uff03\062\uff03\063" +
-    "\uff03\064\uff03\065\uff03\066\uff03\067\uff03\071\uff03\073\uff03" +
-    "\074\uff03\075\uff03\077\uff03\100\uff03\101\uff03\102\uff03\107" +
-    "\uff03\110\uff03\111\uff03\001\002\000\200\006\101\010\076" +
-    "\011\134\012\107\024\022\025\006\027\070\030\117\033" +
-    "\071\034\120\036\040\037\156\040\145\041\045\042\004" +
-    "\043\041\044\010\045\020\046\012\047\031\050\110\051" +
-    "\066\052\061\061\111\062\077\063\067\064\102\065\125" +
-    "\066\072\067\050\070\155\071\023\073\133\074\154\075" +
-    "\135\076\203\077\142\100\113\101\171\102\175\103\205" +
-    "\104\201\105\204\106\052\107\114\110\173\111\143\112" +
-    "\132\113\126\114\024\115\016\116\047\117\124\120\141" +
-    "\121\056\122\051\123\055\124\153\125\034\126\035\127" +
-    "\104\130\167\131\123\001\002\000\136\002\uff01\004\uff01" +
-    "\005\uff01\006\uff01\007\uff01\010\uff01\011\uff01\012\uff01\013" +
-    "\uff01\014\uff01\015\uff01\016\uff01\017\uff01\020\uff01\021\uff01" +
-    "\022\uff01\023\uff01\024\uff01\025\uff01\031\uff32\032\uff01\035" +
-    "\uff01\053\uff01\054\uff01\055\uff01\056\uff01\057\uff01\060\uff01" +
-    "\061\uff01\062\uff01\063\uff01\064\uff01\065\uff01\066\uff01\067" +
-    "\uff01\071\uff01\073\uff01\074\uff01\075\uff01\077\uff01\100\uff01" +
-    "\101\uff01\102\uff01\107\uff01\110\uff01\111\uff01\001\002\000" +
-    "\126\002\uff93\004\uff93\005\uff93\007\uff93\010\uff93\011\uff93" +
-    "\012\uff93\013\uff93\014\uff93\015\uff93\016\uff93\017\uff93\020" +
-    "\uff93\021\uff93\022\uff93\023\uff93\024\uff93\025\uff93\032\uff93" +
-    "\053\uff93\054\uff93\055\uff93\056\uff93\057\uff93\060\uff93\061" +
-    "\uff93\062\uff93\063\uff93\064\uff93\065\uff93\066\uff93\067\uff93" +
-    "\071\uff93\073\uff93\074\uff93\075\uff93\100\uff93\101\uff93\102" +
-    "\uff93\107\uff93\110\uff93\111\uff93\001\002\000\126\002\uffa6" +
-    "\004\uffa6\005\uffa6\007\uffa6\010\uffa6\011\uffa6\012\uffa6\013" +
-    "\uffa6\014\uffa6\015\uffa6\016\uffa6\017\uffa6\020\uffa6\021\uffa6" +
-    "\022\uffa6\023\uffa6\024\uffa6\025\uffa6\032\uffa6\053\uffa6\054" +
-    "\uffa6\055\uffa6\056\uffa6\057\uffa6\060\uffa6\061\uffa6\062\uffa6" +
-    "\063\uffa6\064\uffa6\065\uffa6\066\uffa6\067\uffa6\071\uffa6\073" +
-    "\uffa6\074\uffa6\075\uffa6\100\uffa6\101\uffa6\102\uffa6\107\uffa6" +
-    "\110\uffa6\111\uffa6\001\002\000\004\031\371\001\002\000" +
-    "\006\006\317\031\uff1e\001\002\000\136\002\ufeff\004\ufeff" +
-    "\005\ufeff\006\ufeff\007\ufeff\010\ufeff\011\ufeff\012\ufeff\013" +
-    "\ufeff\014\ufeff\015\ufeff\016\ufeff\017\ufeff\020\ufeff\021\ufeff" +
-    "\022\ufeff\023\ufeff\024\ufeff\025\ufeff\031\uff30\032\ufeff\035" +
-    "\ufeff\053\ufeff\054\ufeff\055\ufeff\056\ufeff\057\ufeff\060\ufeff" +
-    "\061\ufeff\062\ufeff\063\ufeff\064\ufeff\065\ufeff\066\ufeff\067" +
-    "\ufeff\071\ufeff\073\ufeff\074\ufeff\075\ufeff\077\ufeff\100\ufeff" +
-    "\101\ufeff\102\ufeff\107\ufeff\110\ufeff\111\ufeff\001\002\000" +
-    "\136\002\ufef7\004\ufef7\005\ufef7\006\ufef7\007\ufef7\010\ufef7" +
-    "\011\ufef7\012\ufef7\013\ufef7\014\ufef7\015\ufef7\016\ufef7\017" +
-    "\ufef7\020\ufef7\021\ufef7\022\ufef7\023\ufef7\024\ufef7\025\ufef7" +
-    "\031\uff27\032\ufef7\035\ufef7\053\ufef7\054\ufef7\055\ufef7\056" +
-    "\ufef7\057\ufef7\060\ufef7\061\ufef7\062\ufef7\063\ufef7\064\ufef7" +
-    "\065\ufef7\066\ufef7\067\ufef7\071\ufef7\073\ufef7\074\ufef7\075" +
-    "\ufef7\077\ufef7\100\ufef7\101\ufef7\102\ufef7\107\ufef7\110\ufef7" +
-    "\111\ufef7\001\002\000\126\002\uff95\004\uff95\005\uff95\007" +
-    "\uff95\010\uff95\011\uff95\012\uff95\013\uff95\014\uff95\015\uff95" +
-    "\016\uff95\017\uff95\020\uff95\021\uff95\022\uff95\023\uff95\024" +
-    "\uff95\025\uff95\032\uff95\053\uff95\054\uff95\055\uff95\056\uff95" +
-    "\057\uff95\060\uff95\061\uff95\062\uff95\063\uff95\064\uff95\065" +
-    "\uff95\066\uff95\067\uff95\071\uff95\073\uff95\074\uff95\075\uff95" +
-    "\100\uff95\101\uff95\102\uff95\107\uff95\110\uff95\111\uff95\001" +
-    "\002\000\010\006\304\026\303\031\uff45\001\002\000\120" +
-    "\002\uffd1\005\uffd1\007\uffd1\010\uffd1\011\uffd1\012\uffd1\013" +
-    "\uffd1\014\uffd1\015\uffd1\016\uffd1\017\uffd1\020\uffd1\021\uffd1" +
-    "\022\uffd1\023\uffd1\032\uffd1\053\uffd1\054\uffd1\055\uffd1\056" +
-    "\uffd1\057\uffd1\060\uffd1\061\uffd1\062\uffd1\063\uffd1\064\uffd1" +
-    "\065\uffd1\066\uffd1\067\uffd1\071\uffd1\073\uffd1\074\uffd1\075" +
-    "\uffd1\100\uffd1\101\uffd1\102\uffd1\107\uffd1\110\uffd1\111\uffd1" +
-    "\001\002\000\006\006\274\031\uff2b\001\002\000\120\002" +
-    "\uffce\005\uffce\007\uffce\010\uffce\011\uffce\012\uffce\013\uffce" +
-    "\014\uffce\015\uffce\016\uffce\017\uffce\020\uffce\021\uffce\022" +
-    "\uffce\023\uffce\032\uffce\053\uffce\054\uffce\055\uffce\056\uffce" +
-    "\057\uffce\060\uffce\061\uffce\062\uffce\063\uffce\064\uffce\065" +
-    "\uffce\066\uffce\067\uffce\071\uffce\073\uffce\074\uffce\075\uffce" +
-    "\100\uffce\101\uffce\102\uffce\107\uffce\110\uffce\111\uffce\001" +
-    "\002\000\134\002\uff4e\004\uff4e\005\uff4e\006\uff4e\007\uff4e" +
-    "\010\uff4e\011\uff4e\012\uff4e\013\uff4e\014\uff4e\015\uff4e\016" +
-    "\uff4e\017\uff4e\020\uff4e\021\uff4e\022\uff4e\023\uff4e\024\uff4e" +
-    "\025\uff4e\032\uff4e\035\uff4e\053\uff4e\054\uff4e\055\uff4e\056" +
-    "\uff4e\057\uff4e\060\uff4e\061\uff4e\062\uff4e\063\uff4e\064\uff4e" +
-    "\065\uff4e\066\uff4e\067\uff4e\071\uff4e\073\uff4e\074\uff4e\075" +
-    "\uff4e\077\uff4e\100\uff4e\101\uff4e\102\uff4e\107\uff4e\110\uff4e" +
-    "\111\uff4e\001\002\000\130\002\uff70\004\uff70\005\uff70\007" +
-    "\uff70\010\uff70\011\uff70\012\uff70\013\uff70\014\uff70\015\uff70" +
-    "\016\uff70\017\uff70\020\uff70\021\uff70\022\uff70\023\uff70\024" +
-    "\uff70\025\uff70\032\uff70\035\uff70\053\uff70\054\uff70\055\uff70" +
-    "\056\uff70\057\uff70\060\uff70\061\uff70\062\uff70\063\uff70\064" +
-    "\uff70\065\uff70\066\uff70\067\uff70\071\uff70\073\uff70\074\uff70" +
-    "\075\uff70\100\uff70\101\uff70\102\uff70\107\uff70\110\uff70\111" +
-    "\uff70\001\002\000\136\002\uff1a\004\uff1a\005\uff1a\006\uff1a" +
-    "\007\uff1a\010\uff1a\011\uff1a\012\uff1a\013\uff1a\014\uff1a\015" +
-    "\uff1a\016\uff1a\017\uff1a\020\uff1a\021\uff1a\022\uff1a\023\uff1a" +
-    "\024\uff1a\025\uff1a\031\uff1a\032\uff1a\035\uff1a\053\uff1a\054" +
-    "\uff1a\055\uff1a\056\uff1a\057\uff1a\060\uff1a\061\uff1a\062\uff1a" +
-    "\063\uff1a\064\uff1a\065\uff1a\066\uff1a\067\uff1a\071\uff1a\073" +
-    "\uff1a\074\uff1a\075\uff1a\077\uff1a\100\uff1a\101\uff1a\102\uff1a" +
-    "\107\uff1a\110\uff1a\111\uff1a\001\002\000\136\002\uff02\004" +
-    "\uff02\005\uff02\006\uff02\007\uff02\010\uff02\011\uff02\012\uff02" +
-    "\013\uff02\014\uff02\015\uff02\016\uff02\017\uff02\020\uff02\021" +
-    "\uff02\022\uff02\023\uff02\024\uff02\025\uff02\031\uff33\032\uff02" +
-    "\035\uff02\053\uff02\054\uff02\055\uff02\056\uff02\057\uff02\060" +
-    "\uff02\061\uff02\062\uff02\063\uff02\064\uff02\065\uff02\066\uff02" +
-    "\067\uff02\071\uff02\073\uff02\074\uff02\075\uff02\077\uff02\100" +
-    "\uff02\101\uff02\102\uff02\107\uff02\110\uff02\111\uff02\001\002" +
-    "\000\136\002\uff05\004\uff05\005\uff05\006\uff05\007\uff05\010" +
-    "\uff05\011\uff05\012\uff05\013\uff05\014\uff05\015\uff05\016\uff05" +
-    "\017\uff05\020\uff05\021\uff05\022\uff05\023\uff05\024\uff05\025" +
-    "\uff05\031\uff36\032\uff05\035\uff05\053\uff05\054\uff05\055\uff05" +
-    "\056\uff05\057\uff05\060\uff05\061\uff05\062\uff05\063\uff05\064" +
-    "\uff05\065\uff05\066\uff05\067\uff05\071\uff05\073\uff05\074\uff05" +
-    "\075\uff05\077\uff05\100\uff05\101\uff05\102\uff05\107\uff05\110" +
-    "\uff05\111\uff05\001\002\000\134\002\uff14\004\uff14\005\uff14" +
-    "\006\uff14\007\uff14\010\uff14\011\uff14\012\uff14\013\uff14\014" +
-    "\uff14\015\uff14\016\uff14\017\uff14\020\uff14\021\uff14\022\uff14" +
-    "\023\uff14\024\uff14\025\uff14\026\273\031\uff46\032\uff14\053" +
-    "\uff14\054\uff14\055\uff14\056\uff14\057\uff14\060\uff14\061\uff14" +
-    "\062\uff14\063\uff14\064\uff14\065\uff14\066\uff14\067\uff14\071" +
-    "\uff14\073\uff14\074\uff14\075\uff14\100\uff14\101\uff14\102\uff14" +
-    "\107\uff14\110\uff14\111\uff14\001\002\000\134\002\ufefc\004" +
-    "\ufefc\005\ufefc\006\ufefc\007\ufefc\010\ufefc\011\ufefc\012\ufefc" +
-    "\013\ufefc\014\ufefc\015\ufefc\016\ufefc\017\ufefc\020\ufefc\021" +
-    "\ufefc\022\ufefc\023\ufefc\024\ufefc\025\ufefc\031\uff2d\032\ufefc" +
-    "\033\257\053\ufefc\054\ufefc\055\ufefc\056\ufefc\057\ufefc\060" +
-    "\ufefc\061\ufefc\062\ufefc\063\ufefc\064\ufefc\065\ufefc\066\ufefc" +
-    "\067\ufefc\071\ufefc\073\ufefc\074\ufefc\075\ufefc\100\ufefc\101" +
-    "\ufefc\102\ufefc\107\ufefc\110\ufefc\111\ufefc\001\002\000\006" +
-    "\032\221\100\222\001\002\000\126\002\uff9e\004\uff9e\005" +
-    "\uff9e\007\uff9e\010\uff9e\011\uff9e\012\uff9e\013\uff9e\014\uff9e" +
-    "\015\uff9e\016\uff9e\017\uff9e\020\uff9e\021\uff9e\022\uff9e\023" +
-    "\uff9e\024\uff9e\025\uff9e\032\uff9e\053\uff9e\054\uff9e\055\uff9e" +
-    "\056\uff9e\057\uff9e\060\uff9e\061\uff9e\062\uff9e\063\uff9e\064" +
-    "\uff9e\065\uff9e\066\uff9e\067\uff9e\071\uff9e\073\uff9e\074\uff9e" +
-    "\075\uff9e\100\uff9e\101\uff9e\102\uff9e\107\uff9e\110\uff9e\111" +
-    "\uff9e\001\002\000\126\002\uff97\004\uff97\005\uff97\007\uff97" +
-    "\010\uff97\011\uff97\012\uff97\013\uff97\014\uff97\015\uff97\016" +
-    "\uff97\017\uff97\020\uff97\021\uff97\022\uff97\023\uff97\024\uff97" +
-    "\025\uff97\032\uff97\053\uff97\054\uff97\055\uff97\056\uff97\057" +
-    "\uff97\060\uff97\061\uff97\062\uff97\063\uff97\064\uff97\065\uff97" +
-    "\066\uff97\067\uff97\071\uff97\073\uff97\074\uff97\075\uff97\100" +
-    "\uff97\101\uff97\102\uff97\107\uff97\110\uff97\111\uff97\001\002" +
-    "\000\130\002\uff6f\004\uff6f\005\uff6f\007\uff6f\010\uff6f\011" +
-    "\uff6f\012\uff6f\013\uff6f\014\uff6f\015\uff6f\016\uff6f\017\uff6f" +
-    "\020\uff6f\021\uff6f\022\uff6f\023\uff6f\024\uff6f\025\uff6f\032" +
-    "\uff6f\035\uff6f\053\uff6f\054\uff6f\055\uff6f\056\uff6f\057\uff6f" +
-    "\060\uff6f\061\uff6f\062\uff6f\063\uff6f\064\uff6f\065\uff6f\066" +
-    "\uff6f\067\uff6f\071\uff6f\073\uff6f\074\uff6f\075\uff6f\100\uff6f" +
-    "\101\uff6f\102\uff6f\107\uff6f\110\uff6f\111\uff6f\001\002\000" +
-    "\126\002\uffb2\004\uffb2\005\uffb2\007\uffb2\010\uffb2\011\uffb2" +
-    "\012\uffb2\013\uffb2\014\uffb2\015\uffb2\016\uffb2\017\uffb2\020" +
-    "\uffb2\021\uffb2\022\uffb2\023\uffb2\024\uffb2\025\uffb2\032\uffb2" +
-    "\053\uffb2\054\uffb2\055\uffb2\056\uffb2\057\uffb2\060\uffb2\061" +
-    "\uffb2\062\uffb2\063\uffb2\064\uffb2\065\uffb2\066\uffb2\067\uffb2" +
-    "\071\uffb2\073\uffb2\074\uffb2\075\uffb2\100\uffb2\101\uffb2\102" +
-    "\uffb2\107\uffb2\110\uffb2\111\uffb2\001\002\000\126\002\uff8e" +
-    "\004\uff8e\005\uff8e\007\uff8e\010\uff8e\011\uff8e\012\uff8e\013" +
-    "\uff8e\014\uff8e\015\uff8e\016\uff8e\017\uff8e\020\uff8e\021\uff8e" +
-    "\022\uff8e\023\uff8e\024\uff8e\025\uff8e\032\uff8e\053\uff8e\054" +
-    "\uff8e\055\uff8e\056\uff8e\057\uff8e\060\uff8e\061\uff8e\062\uff8e" +
-    "\063\uff8e\064\uff8e\065\uff8e\066\uff8e\067\uff8e\071\uff8e\073" +
-    "\uff8e\074\uff8e\075\uff8e\100\uff8e\101\uff8e\102\uff8e\107\uff8e" +
-    "\110\uff8e\111\uff8e\001\002\000\126\002\uff90\004\uff90\005" +
-    "\uff90\007\uff90\010\uff90\011\uff90\012\uff90\013\uff90\014\uff90" +
-    "\015\uff90\016\uff90\017\uff90\020\uff90\021\uff90\022\uff90\023" +
-    "\uff90\024\uff90\025\uff90\032\uff90\053\uff90\054\uff90\055\uff90" +
-    "\056\uff90\057\uff90\060\uff90\061\uff90\062\uff90\063\uff90\064" +
-    "\uff90\065\uff90\066\uff90\067\uff90\071\uff90\073\uff90\074\uff90" +
-    "\075\uff90\100\uff90\101\uff90\102\uff90\107\uff90\110\uff90\111" +
-    "\uff90\001\002\000\126\002\uff50\004\uff50\005\uff50\007\uff50" +
-    "\010\uff50\011\uff50\012\uff50\013\uff50\014\uff50\015\uff50\016" +
-    "\uff50\017\uff50\020\uff50\021\uff50\022\uff50\023\uff50\024\uff50" +
-    "\025\uff50\032\uff50\053\uff50\054\uff50\055\uff50\056\uff50\057" +
-    "\uff50\060\uff50\061\uff50\062\uff50\063\uff50\064\uff50\065\uff50" +
-    "\066\uff50\067\uff50\071\uff50\073\uff50\074\uff50\075\uff50\100" +
-    "\uff50\101\uff50\102\uff50\107\uff50\110\uff50\111\uff50\001\002" +
-    "\000\126\002\uffa8\004\uffa8\005\uffa8\007\uffa8\010\uffa8\011" +
-    "\uffa8\012\uffa8\013\uffa8\014\uffa8\015\uffa8\016\uffa8\017\uffa8" +
-    "\020\uffa8\021\uffa8\022\uffa8\023\uffa8\024\uffa8\025\uffa8\032" +
-    "\uffa8\053\uffa8\054\uffa8\055\uffa8\056\uffa8\057\uffa8\060\uffa8" +
-    "\061\uffa8\062\uffa8\063\uffa8\064\uffa8\065\uffa8\066\uffa8\067" +
-    "\uffa8\071\uffa8\073\uffa8\074\uffa8\075\uffa8\100\uffa8\101\uffa8" +
-    "\102\uffa8\107\uffa8\110\uffa8\111\uffa8\001\002\000\136\002" +
-    "\ufefd\004\ufefd\005\ufefd\006\ufefd\007\ufefd\010\ufefd\011\ufefd" +
-    "\012\ufefd\013\ufefd\014\ufefd\015\ufefd\016\ufefd\017\ufefd\020" +
-    "\ufefd\021\ufefd\022\ufefd\023\ufefd\024\ufefd\025\ufefd\031\uff2e" +
-    "\032\ufefd\035\ufefd\053\ufefd\054\ufefd\055\ufefd\056\ufefd\057" +
-    "\ufefd\060\ufefd\061\ufefd\062\ufefd\063\ufefd\064\ufefd\065\ufefd" +
-    "\066\ufefd\067\ufefd\071\ufefd\073\ufefd\074\ufefd\075\ufefd\077" +
-    "\ufefd\100\ufefd\101\ufefd\102\ufefd\107\ufefd\110\ufefd\111\ufefd" +
-    "\001\002\000\110\002\uffdf\005\uffdf\007\uffdf\010\uffdf\011" +
-    "\uffdf\012\uffdf\013\uffdf\014\uffdf\015\uffdf\016\uffdf\017\uffdf" +
-    "\020\uffdf\021\uffdf\022\uffdf\023\uffdf\032\uffdf\053\uffdf\054" +
-    "\uffdf\055\uffdf\056\uffdf\057\uffdf\060\uffdf\061\uffdf\062\uffdf" +
-    "\063\uffdf\064\uffdf\065\207\066\206\075\uffdf\100\uffdf\101" +
-    "\uffdf\102\uffdf\107\uffdf\110\uffdf\111\uffdf\001\002\000\136" +
-    "\002\ufef8\004\ufef8\005\ufef8\006\ufef8\007\ufef8\010\ufef8\011" +
-    "\ufef8\012\ufef8\013\ufef8\014\ufef8\015\ufef8\016\ufef8\017\ufef8" +
-    "\020\ufef8\021\ufef8\022\ufef8\023\ufef8\024\ufef8\025\ufef8\031" +
-    "\uff28\032\ufef8\035\ufef8\053\ufef8\054\ufef8\055\ufef8\056\ufef8" +
-    "\057\ufef8\060\ufef8\061\ufef8\062\ufef8\063\ufef8\064\ufef8\065" +
-    "\ufef8\066\ufef8\067\ufef8\071\ufef8\073\ufef8\074\ufef8\075\ufef8" +
-    "\077\ufef8\100\ufef8\101\ufef8\102\ufef8\107\ufef8\110\ufef8\111" +
-    "\ufef8\001\002\000\126\002\uff8f\004\uff8f\005\uff8f\007\uff8f" +
-    "\010\uff8f\011\uff8f\012\uff8f\013\uff8f\014\uff8f\015\uff8f\016" +
-    "\uff8f\017\uff8f\020\uff8f\021\uff8f\022\uff8f\023\uff8f\024\uff8f" +
-    "\025\uff8f\032\uff8f\053\uff8f\054\uff8f\055\uff8f\056\uff8f\057" +
-    "\uff8f\060\uff8f\061\uff8f\062\uff8f\063\uff8f\064\uff8f\065\uff8f" +
-    "\066\uff8f\067\uff8f\071\uff8f\073\uff8f\074\uff8f\075\uff8f\100" +
-    "\uff8f\101\uff8f\102\uff8f\107\uff8f\110\uff8f\111\uff8f\001\002" +
-    "\000\136\002\uff16\004\uff16\005\uff16\006\uff16\007\uff16\010" +
-    "\uff16\011\uff16\012\uff16\013\uff16\014\uff16\015\uff16\016\uff16" +
-    "\017\uff16\020\uff16\021\uff16\022\uff16\023\uff16\024\uff16\025" +
-    "\uff16\031\uff48\032\uff16\035\uff16\053\uff16\054\uff16\055\uff16" +
-    "\056\uff16\057\uff16\060\uff16\061\uff16\062\uff16\063\uff16\064" +
-    "\uff16\065\uff16\066\uff16\067\uff16\071\uff16\073\uff16\074\uff16" +
-    "\075\uff16\077\uff16\100\uff16\101\uff16\102\uff16\107\uff16\110" +
-    "\uff16\111\uff16\001\002\000\024\002\ufff1\005\ufff1\007\ufff1" +
-    "\032\ufff1\100\ufff1\101\ufff1\107\ufff1\110\200\111\ufff1\001" +
-    "\002\000\124\002\uffba\005\uffba\007\uffba\010\uffba\011\uffba" +
-    "\012\uffba\013\uffba\014\uffba\015\uffba\016\uffba\017\uffba\020" +
-    "\uffba\021\uffba\022\uffba\023\uffba\024\uffba\025\uffba\032\uffba" +
-    "\053\uffba\054\uffba\055\uffba\056\uffba\057\uffba\060\uffba\061" +
-    "\uffba\062\uffba\063\uffba\064\uffba\065\uffba\066\uffba\067\uffba" +
-    "\071\uffba\073\uffba\074\uffba\075\uffba\100\uffba\101\uffba\102" +
-    "\uffba\107\uffba\110\uffba\111\uffba\001\002\000\200\006\101" +
-    "\010\076\011\134\012\107\024\022\025\006\027\070\030" +
-    "\117\033\071\034\120\036\040\037\156\040\145\041\045" +
-    "\042\004\043\041\044\010\045\020\046\012\047\031\050" +
-    "\110\051\066\052\061\061\111\062\077\063\067\064\102" +
-    "\065\125\066\072\067\050\070\155\071\023\073\133\074" +
-    "\154\075\135\076\203\077\142\100\113\101\171\102\175" +
-    "\103\205\104\201\105\204\106\052\107\114\110\173\111" +
-    "\143\112\132\113\126\114\024\115\016\116\047\117\124" +
-    "\120\141\121\056\122\051\123\055\124\153\125\034\126" +
-    "\035\127\104\130\167\131\123\001\002\000\136\002\ufefb" +
-    "\004\ufefb\005\ufefb\006\ufefb\007\ufefb\010\ufefb\011\ufefb\012" +
-    "\ufefb\013\ufefb\014\ufefb\015\ufefb\016\ufefb\017\ufefb\020\ufefb" +
-    "\021\ufefb\022\ufefb\023\ufefb\024\ufefb\025\ufefb\031\uff2c\032" +
-    "\ufefb\035\ufefb\053\ufefb\054\ufefb\055\ufefb\056\ufefb\057\ufefb" +
-    "\060\ufefb\061\ufefb\062\ufefb\063\ufefb\064\ufefb\065\ufefb\066" +
-    "\ufefb\067\ufefb\071\ufefb\073\ufefb\074\ufefb\075\ufefb\077\ufefb" +
-    "\100\ufefb\101\ufefb\102\ufefb\107\ufefb\110\ufefb\111\ufefb\001" +
-    "\002\000\024\002\uffee\005\uffee\007\uffee\032\uffee\100\uffee" +
-    "\101\uffee\107\uffee\110\uffee\111\uffee\001\002\000\136\002" +
-    "\uff00\004\uff00\005\uff00\006\uff00\007\uff00\010\uff00\011\uff00" +
-    "\012\uff00\013\uff00\014\uff00\015\uff00\016\uff00\017\uff00\020" +
-    "\uff00\021\uff00\022\uff00\023\uff00\024\uff00\025\uff00\031\uff31" +
-    "\032\uff00\035\uff00\053\uff00\054\uff00\055\uff00\056\uff00\057" +
-    "\uff00\060\uff00\061\uff00\062\uff00\063\uff00\064\uff00\065\uff00" +
-    "\066\uff00\067\uff00\071\uff00\073\uff00\074\uff00\075\uff00\077" +
-    "\uff00\100\uff00\101\uff00\102\uff00\107\uff00\110\uff00\111\uff00" +
-    "\001\002\000\136\002\uff2b\004\uff2b\005\uff2b\006\uff2b\007" +
-    "\uff2b\010\uff2b\011\uff2b\012\uff2b\013\uff2b\014\uff2b\015\uff2b" +
-    "\016\uff2b\017\uff2b\020\uff2b\021\uff2b\022\uff2b\023\uff2b\024" +
-    "\uff2b\025\uff2b\031\uff2b\032\uff2b\035\uff2b\053\uff2b\054\uff2b" +
-    "\055\uff2b\056\uff2b\057\uff2b\060\uff2b\061\uff2b\062\uff2b\063" +
-    "\uff2b\064\uff2b\065\uff2b\066\uff2b\067\uff2b\071\uff2b\073\uff2b" +
-    "\074\uff2b\075\uff2b\077\uff2b\100\uff2b\101\uff2b\102\uff2b\107" +
-    "\uff2b\110\uff2b\111\uff2b\001\002\000\136\002\ufefc\004\ufefc" +
-    "\005\ufefc\006\ufefc\007\ufefc\010\ufefc\011\ufefc\012\ufefc\013" +
-    "\ufefc\014\ufefc\015\ufefc\016\ufefc\017\ufefc\020\ufefc\021\ufefc" +
-    "\022\ufefc\023\ufefc\024\ufefc\025\ufefc\031\uff2d\032\ufefc\035" +
-    "\ufefc\053\ufefc\054\ufefc\055\ufefc\056\ufefc\057\ufefc\060\ufefc" +
-    "\061\ufefc\062\ufefc\063\ufefc\064\ufefc\065\ufefc\066\ufefc\067" +
-    "\ufefc\071\ufefc\073\ufefc\074\ufefc\075\ufefc\077\ufefc\100\ufefc" +
-    "\101\ufefc\102\ufefc\107\ufefc\110\ufefc\111\ufefc\001\002\000" +
-    "\200\006\101\010\076\011\134\012\107\024\022\025\006" +
-    "\027\070\030\117\033\071\034\120\036\040\037\156\040" +
-    "\145\041\045\042\004\043\041\044\010\045\020\046\012" +
-    "\047\031\050\110\051\066\052\061\061\111\062\077\063" +
-    "\067\064\102\065\125\066\072\067\050\070\155\071\023" +
-    "\073\133\074\154\075\135\076\203\077\142\100\113\101" +
-    "\171\102\175\103\205\104\201\105\204\106\052\107\114" +
-    "\110\173\111\143\112\132\113\126\114\024\115\016\116" +
-    "\047\117\124\120\141\121\056\122\051\123\055\124\153" +
-    "\125\034\126\035\127\104\130\167\131\123\001\002\000" +
-    "\200\006\101\010\076\011\134\012\107\024\022\025\006" +
-    "\027\070\030\117\033\071\034\120\036\040\037\156\040" +
-    "\145\041\045\042\004\043\041\044\010\045\020\046\012" +
-    "\047\031\050\110\051\066\052\061\061\111\062\077\063" +
-    "\067\064\102\065\125\066\072\067\050\070\155\071\023" +
-    "\073\133\074\154\075\135\076\203\077\142\100\113\101" +
-    "\171\102\175\103\205\104\201\105\204\106\052\107\114" +
-    "\110\173\111\143\112\132\113\126\114\024\115\016\116" +
-    "\047\117\124\120\141\121\056\122\051\123\055\124\153" +
-    "\125\034\126\035\127\104\130\167\131\123\001\002\000" +
-    "\110\002\uffdb\005\uffdb\007\uffdb\010\uffdb\011\uffdb\012\uffdb" +
-    "\013\uffdb\014\uffdb\015\uffdb\016\uffdb\017\uffdb\020\uffdb\021" +
-    "\uffdb\022\uffdb\023\uffdb\032\uffdb\053\uffdb\054\uffdb\055\uffdb" +
-    "\056\uffdb\057\uffdb\060\uffdb\061\uffdb\062\uffdb\063\uffdb\064" +
-    "\uffdb\065\uffdb\066\uffdb\075\uffdb\100\uffdb\101\uffdb\102\uffdb" +
-    "\107\uffdb\110\uffdb\111\uffdb\001\002\000\110\002\uffda\005" +
-    "\uffda\007\uffda\010\uffda\011\uffda\012\uffda\013\uffda\014\uffda" +
-    "\015\uffda\016\uffda\017\uffda\020\uffda\021\uffda\022\uffda\023" +
-    "\uffda\032\uffda\053\uffda\054\uffda\055\uffda\056\uffda\057\uffda" +
-    "\060\uffda\061\uffda\062\uffda\063\uffda\064\uffda\065\uffda\066" +
-    "\uffda\075\uffda\100\uffda\101\uffda\102\uffda\107\uffda\110\uffda" +
-    "\111\uffda\001\002\000\126\002\uff99\004\214\005\uff99\007" +
-    "\uff99\010\uff99\011\uff99\012\uff99\013\uff99\014\uff99\015\uff99" +
-    "\016\uff99\017\uff99\020\uff99\021\uff99\022\uff99\023\uff99\024" +
-    "\uff99\025\uff99\032\uff99\053\uff99\054\uff99\055\uff99\056\uff99" +
-    "\057\uff99\060\uff99\061\uff99\062\uff99\063\uff99\064\uff99\065" +
-    "\uff99\066\uff99\067\uff99\071\uff99\073\uff99\074\uff99\075\uff99" +
-    "\100\uff99\101\uff99\102\uff99\107\uff99\110\uff99\111\uff99\001" +
-    "\002\000\126\002\uff98\004\uff98\005\uff98\007\uff98\010\uff98" +
-    "\011\uff98\012\uff98\013\uff98\014\uff98\015\uff98\016\uff98\017" +
-    "\uff98\020\uff98\021\uff98\022\uff98\023\uff98\024\uff98\025\uff98" +
-    "\032\uff98\053\uff98\054\uff98\055\uff98\056\uff98\057\uff98\060" +
-    "\uff98\061\uff98\062\uff98\063\uff98\064\uff98\065\uff98\066\uff98" +
-    "\067\uff98\071\uff98\073\uff98\074\uff98\075\uff98\100\uff98\101" +
-    "\uff98\102\uff98\107\uff98\110\uff98\111\uff98\001\002\000\200" +
-    "\006\101\010\076\011\134\012\107\024\022\025\006\027" +
-    "\070\030\117\033\071\034\120\036\040\037\156\040\145" +
-    "\041\045\042\004\043\041\044\010\045\020\046\012\047" +
-    "\031\050\110\051\066\052\061\061\111\062\077\063\067" +
-    "\064\102\065\125\066\072\067\050\070\155\071\023\073" +
-    "\133\074\154\075\135\076\106\077\142\100\113\101\171" +
-    "\102\175\103\157\104\046\105\147\106\052\107\114\110" +
-    "\173\111\143\112\132\113\126\114\024\115\016\116\047" +
-    "\117\124\120\141\121\056\122\051\123\055\124\153\125" +
-    "\034\126\035\127\104\130\167\131\123\001\002\000\006" +
-    "\005\217\032\216\001\002\000\200\006\101\010\076\011" +
-    "\134\012\107\024\022\025\006\027\070\030\117\033\071" +
-    "\034\120\036\040\037\156\040\145\041\045\042\004\043" +
-    "\041\044\010\045\020\046\012\047\031\050\110\051\066" +
-    "\052\061\061\111\062\077\063\067\064\102\065\125\066" +
-    "\072\067\050\070\155\071\023\073\133\074\154\075\135" +
-    "\076\106\077\142\100\113\101\171\102\175\103\157\104" +
-    "\046\105\147\106\052\107\114\110\173\111\143\112\132" +
-    "\113\126\114\024\115\016\116\047\117\124\120\141\121" +
-    "\056\122\051\123\055\124\153\125\034\126\035\127\104" +
-    "\130\167\131\123\001\002\000\126\002\uff96\004\uff96\005" +
-    "\uff96\007\uff96\010\uff96\011\uff96\012\uff96\013\uff96\014\uff96" +
-    "\015\uff96\016\uff96\017\uff96\020\uff96\021\uff96\022\uff96\023" +
-    "\uff96\024\uff96\025\uff96\032\uff96\053\uff96\054\uff96\055\uff96" +
-    "\056\uff96\057\uff96\060\uff96\061\uff96\062\uff96\063\uff96\064" +
-    "\uff96\065\uff96\066\uff96\067\uff96\071\uff96\073\uff96\074\uff96" +
-    "\075\uff96\100\uff96\101\uff96\102\uff96\107\uff96\110\uff96\111" +
-    "\uff96\001\002\000\012\002\ufffe\005\ufffe\007\ufffe\032\ufffe" +
-    "\001\002\000\004\033\224\001\002\000\200\006\101\010" +
-    "\076\011\134\012\107\024\022\025\006\027\070\030\117" +
-    "\033\071\034\120\036\040\037\156\040\145\041\045\042" +
-    "\004\043\041\044\010\045\020\046\012\047\031\050\110" +
-    "\051\066\052\061\061\111\062\077\063\067\064\102\065" +
-    "\125\066\072\067\050\070\155\071\023\073\133\074\154" +
-    "\075\135\076\106\077\142\100\113\101\171\102\175\103" +
-    "\157\104\046\105\147\106\052\107\114\110\173\111\143" +
-    "\112\132\113\126\114\024\115\016\116\047\117\124\120" +
-    "\141\121\056\122\051\123\055\124\153\125\034\126\035" +
-    "\127\104\130\167\131\123\001\002\000\020\002\ufff9\005" +
-    "\ufff9\007\ufff9\032\ufff9\100\ufff9\101\ufff9\107\ufff9\001\002" +
-    "\000\146\012\233\036\232\037\240\040\252\041\241\042" +
-    "\237\043\236\044\250\045\226\046\246\047\244\050\225" +
-    "\051\242\052\243\061\111\062\077\063\067\064\102\065" +
-    "\125\066\072\067\050\070\155\071\023\073\133\074\154" +
-    "\075\135\076\203\077\142\100\113\101\171\102\175\103" +
-    "\205\104\201\105\204\106\052\107\114\110\173\111\143" +
-    "\112\132\113\126\114\253\115\247\116\251\117\227\120" +
-    "\234\121\230\122\245\123\235\124\153\131\123\001\002" +
-    "\000\134\002\uff0c\004\uff0c\005\uff0c\007\uff0c\010\uff0c\011" +
-    "\uff0c\012\uff0c\013\uff0c\014\uff0c\015\uff0c\016\uff0c\017\uff0c" +
-    "\020\uff0c\021\uff0c\022\uff0c\023\uff0c\024\uff0c\025\uff0c\031" +
-    "\uff3d\032\uff0c\035\uff0c\053\uff0c\054\uff0c\055\uff0c\056\uff0c" +
-    "\057\uff0c\060\uff0c\061\uff0c\062\uff0c\063\uff0c\064\uff0c\065" +
-    "\uff0c\066\uff0c\067\uff0c\071\uff0c\073\uff0c\074\uff0c\075\uff0c" +
-    "\077\uff0c\100\uff0c\101\uff0c\102\uff0c\107\uff0c\110\uff0c\111" +
-    "\uff0c\001\002\000\134\002\uff0f\004\uff0f\005\uff0f\007\uff0f" +
-    "\010\uff0f\011\uff0f\012\uff0f\013\uff0f\014\uff0f\015\uff0f\016" +
-    "\uff0f\017\uff0f\020\uff0f\021\uff0f\022\uff0f\023\uff0f\024\uff0f" +
-    "\025\uff0f\031\uff40\032\uff0f\035\uff0f\053\uff0f\054\uff0f\055" +
-    "\uff0f\056\uff0f\057\uff0f\060\uff0f\061\uff0f\062\uff0f\063\uff0f" +
-    "\064\uff0f\065\uff0f\066\uff0f\067\uff0f\071\uff0f\073\uff0f\074" +
-    "\uff0f\075\uff0f\077\uff0f\100\uff0f\101\uff0f\102\uff0f\107\uff0f" +
-    "\110\uff0f\111\uff0f\001\002\000\136\002\uff24\004\uff24\005" +
-    "\uff24\006\uff24\007\uff24\010\uff24\011\uff24\012\uff24\013\uff24" +
-    "\014\uff24\015\uff24\016\uff24\017\uff24\020\uff24\021\uff24\022" +
-    "\uff24\023\uff24\024\uff24\025\uff24\031\uff24\032\uff24\035\uff24" +
-    "\053\uff24\054\uff24\055\uff24\056\uff24\057\uff24\060\uff24\061" +
-    "\uff24\062\uff24\063\uff24\064\uff24\065\uff24\066\uff24\067\uff24" +
-    "\071\uff24\073\uff24\074\uff24\075\uff24\077\uff24\100\uff24\101" +
-    "\uff24\102\uff24\107\uff24\110\uff24\111\uff24\001\002\000\136" +
-    "\002\uff1d\004\uff1d\005\uff1d\006\uff1d\007\uff1d\010\uff1d\011" +
-    "\uff1d\012\uff1d\013\uff1d\014\uff1d\015\uff1d\016\uff1d\017\uff1d" +
-    "\020\uff1d\021\uff1d\022\uff1d\023\uff1d\024\uff1d\025\uff1d\031" +
-    "\uff1d\032\uff1d\035\uff1d\053\uff1d\054\uff1d\055\uff1d\056\uff1d" +
-    "\057\uff1d\060\uff1d\061\uff1d\062\uff1d\063\uff1d\064\uff1d\065" +
-    "\uff1d\066\uff1d\067\uff1d\071\uff1d\073\uff1d\074\uff1d\075\uff1d" +
-    "\077\uff1d\100\uff1d\101\uff1d\102\uff1d\107\uff1d\110\uff1d\111" +
-    "\uff1d\001\002\000\004\077\255\001\002\000\134\002\uff15" +
-    "\004\uff15\005\uff15\007\uff15\010\uff15\011\uff15\012\uff15\013" +
-    "\uff15\014\uff15\015\uff15\016\uff15\017\uff15\020\uff15\021\uff15" +
-    "\022\uff15\023\uff15\024\uff15\025\uff15\031\uff47\032\uff15\035" +
-    "\uff15\053\uff15\054\uff15\055\uff15\056\uff15\057\uff15\060\uff15" +
-    "\061\uff15\062\uff15\063\uff15\064\uff15\065\uff15\066\uff15\067" +
-    "\uff15\071\uff15\073\uff15\074\uff15\075\uff15\077\uff15\100\uff15" +
-    "\101\uff15\102\uff15\107\uff15\110\uff15\111\uff15\001\002\000" +
-    "\136\002\uff18\004\uff18\005\uff18\006\uff18\007\uff18\010\uff18" +
-    "\011\uff18\012\uff18\013\uff18\014\uff18\015\uff18\016\uff18\017" +
-    "\uff18\020\uff18\021\uff18\022\uff18\023\uff18\024\uff18\025\uff18" +
-    "\031\uff18\032\uff18\035\uff18\053\uff18\054\uff18\055\uff18\056" +
-    "\uff18\057\uff18\060\uff18\061\uff18\062\uff18\063\uff18\064\uff18" +
-    "\065\uff18\066\uff18\067\uff18\071\uff18\073\uff18\074\uff18\075" +
-    "\uff18\077\uff18\100\uff18\101\uff18\102\uff18\107\uff18\110\uff18" +
-    "\111\uff18\001\002\000\136\002\uff1e\004\uff1e\005\uff1e\006" +
-    "\uff1e\007\uff1e\010\uff1e\011\uff1e\012\uff1e\013\uff1e\014\uff1e" +
-    "\015\uff1e\016\uff1e\017\uff1e\020\uff1e\021\uff1e\022\uff1e\023" +
-    "\uff1e\024\uff1e\025\uff1e\031\uff1e\032\uff1e\035\uff1e\053\uff1e" +
-    "\054\uff1e\055\uff1e\056\uff1e\057\uff1e\060\uff1e\061\uff1e\062" +
-    "\uff1e\063\uff1e\064\uff1e\065\uff1e\066\uff1e\067\uff1e\071\uff1e" +
-    "\073\uff1e\074\uff1e\075\uff1e\077\uff1e\100\uff1e\101\uff1e\102" +
-    "\uff1e\107\uff1e\110\uff1e\111\uff1e\001\002\000\136\002\uff1c" +
-    "\004\uff1c\005\uff1c\006\uff1c\007\uff1c\010\uff1c\011\uff1c\012" +
-    "\uff1c\013\uff1c\014\uff1c\015\uff1c\016\uff1c\017\uff1c\020\uff1c" +
-    "\021\uff1c\022\uff1c\023\uff1c\024\uff1c\025\uff1c\031\uff1c\032" +
-    "\uff1c\035\uff1c\053\uff1c\054\uff1c\055\uff1c\056\uff1c\057\uff1c" +
-    "\060\uff1c\061\uff1c\062\uff1c\063\uff1c\064\uff1c\065\uff1c\066" +
-    "\uff1c\067\uff1c\071\uff1c\073\uff1c\074\uff1c\075\uff1c\077\uff1c" +
-    "\100\uff1c\101\uff1c\102\uff1c\107\uff1c\110\uff1c\111\uff1c\001" +
-    "\002\000\134\002\uff11\004\uff11\005\uff11\007\uff11\010\uff11" +
-    "\011\uff11\012\uff11\013\uff11\014\uff11\015\uff11\016\uff11\017" +
-    "\uff11\020\uff11\021\uff11\022\uff11\023\uff11\024\uff11\025\uff11" +
-    "\031\uff42\032\uff11\035\uff11\053\uff11\054\uff11\055\uff11\056" +
-    "\uff11\057\uff11\060\uff11\061\uff11\062\uff11\063\uff11\064\uff11" +
-    "\065\uff11\066\uff11\067\uff11\071\uff11\073\uff11\074\uff11\075" +
-    "\uff11\077\uff11\100\uff11\101\uff11\102\uff11\107\uff11\110\uff11" +
-    "\111\uff11\001\002\000\134\002\uff12\004\uff12\005\uff12\007" +
-    "\uff12\010\uff12\011\uff12\012\uff12\013\uff12\014\uff12\015\uff12" +
-    "\016\uff12\017\uff12\020\uff12\021\uff12\022\uff12\023\uff12\024" +
-    "\uff12\025\uff12\031\uff43\032\uff12\035\uff12\053\uff12\054\uff12" +
-    "\055\uff12\056\uff12\057\uff12\060\uff12\061\uff12\062\uff12\063" +
-    "\uff12\064\uff12\065\uff12\066\uff12\067\uff12\071\uff12\073\uff12" +
-    "\074\uff12\075\uff12\077\uff12\100\uff12\101\uff12\102\uff12\107" +
-    "\uff12\110\uff12\111\uff12\001\002\000\134\002\uff14\004\uff14" +
-    "\005\uff14\007\uff14\010\uff14\011\uff14\012\uff14\013\uff14\014" +
-    "\uff14\015\uff14\016\uff14\017\uff14\020\uff14\021\uff14\022\uff14" +
-    "\023\uff14\024\uff14\025\uff14\031\uff46\032\uff14\035\uff14\053" +
-    "\uff14\054\uff14\055\uff14\056\uff14\057\uff14\060\uff14\061\uff14" +
-    "\062\uff14\063\uff14\064\uff14\065\uff14\066\uff14\067\uff14\071" +
-    "\uff14\073\uff14\074\uff14\075\uff14\077\uff14\100\uff14\101\uff14" +
-    "\102\uff14\107\uff14\110\uff14\111\uff14\001\002\000\134\002" +
-    "\uff13\004\uff13\005\uff13\007\uff13\010\uff13\011\uff13\012\uff13" +
-    "\013\uff13\014\uff13\015\uff13\016\uff13\017\uff13\020\uff13\021" +
-    "\uff13\022\uff13\023\uff13\024\uff13\025\uff13\031\uff44\032\uff13" +
-    "\035\uff13\053\uff13\054\uff13\055\uff13\056\uff13\057\uff13\060" +
-    "\uff13\061\uff13\062\uff13\063\uff13\064\uff13\065\uff13\066\uff13" +
-    "\067\uff13\071\uff13\073\uff13\074\uff13\075\uff13\077\uff13\100" +
-    "\uff13\101\uff13\102\uff13\107\uff13\110\uff13\111\uff13\001\002" +
-    "\000\134\002\uff0b\004\uff0b\005\uff0b\007\uff0b\010\uff0b\011" +
-    "\uff0b\012\uff0b\013\uff0b\014\uff0b\015\uff0b\016\uff0b\017\uff0b" +
-    "\020\uff0b\021\uff0b\022\uff0b\023\uff0b\024\uff0b\025\uff0b\031" +
-    "\uff3c\032\uff0b\035\uff0b\053\uff0b\054\uff0b\055\uff0b\056\uff0b" +
-    "\057\uff0b\060\uff0b\061\uff0b\062\uff0b\063\uff0b\064\uff0b\065" +
-    "\uff0b\066\uff0b\067\uff0b\071\uff0b\073\uff0b\074\uff0b\075\uff0b" +
-    "\077\uff0b\100\uff0b\101\uff0b\102\uff0b\107\uff0b\110\uff0b\111" +
-    "\uff0b\001\002\000\134\002\uff0a\004\uff0a\005\uff0a\007\uff0a" +
-    "\010\uff0a\011\uff0a\012\uff0a\013\uff0a\014\uff0a\015\uff0a\016" +
-    "\uff0a\017\uff0a\020\uff0a\021\uff0a\022\uff0a\023\uff0a\024\uff0a" +
-    "\025\uff0a\031\uff3b\032\uff0a\035\uff0a\053\uff0a\054\uff0a\055" +
-    "\uff0a\056\uff0a\057\uff0a\060\uff0a\061\uff0a\062\uff0a\063\uff0a" +
-    "\064\uff0a\065\uff0a\066\uff0a\067\uff0a\071\uff0a\073\uff0a\074" +
-    "\uff0a\075\uff0a\077\uff0a\100\uff0a\101\uff0a\102\uff0a\107\uff0a" +
-    "\110\uff0a\111\uff0a\001\002\000\134\002\uff0d\004\uff0d\005" +
-    "\uff0d\007\uff0d\010\uff0d\011\uff0d\012\uff0d\013\uff0d\014\uff0d" +
-    "\015\uff0d\016\uff0d\017\uff0d\020\uff0d\021\uff0d\022\uff0d\023" +
-    "\uff0d\024\uff0d\025\uff0d\031\uff3e\032\uff0d\035\uff0d\053\uff0d" +
-    "\054\uff0d\055\uff0d\056\uff0d\057\uff0d\060\uff0d\061\uff0d\062" +
-    "\uff0d\063\uff0d\064\uff0d\065\uff0d\066\uff0d\067\uff0d\071\uff0d" +
-    "\073\uff0d\074\uff0d\075\uff0d\077\uff0d\100\uff0d\101\uff0d\102" +
-    "\uff0d\107\uff0d\110\uff0d\111\uff0d\001\002\000\136\002\uff22" +
-    "\004\uff22\005\uff22\006\uff22\007\uff22\010\uff22\011\uff22\012" +
-    "\uff22\013\uff22\014\uff22\015\uff22\016\uff22\017\uff22\020\uff22" +
-    "\021\uff22\022\uff22\023\uff22\024\uff22\025\uff22\031\uff22\032" +
-    "\uff22\035\uff22\053\uff22\054\uff22\055\uff22\056\uff22\057\uff22" +
-    "\060\uff22\061\uff22\062\uff22\063\uff22\064\uff22\065\uff22\066" +
-    "\uff22\067\uff22\071\uff22\073\uff22\074\uff22\075\uff22\077\uff22" +
-    "\100\uff22\101\uff22\102\uff22\107\uff22\110\uff22\111\uff22\001" +
-    "\002\000\134\002\uff0e\004\uff0e\005\uff0e\007\uff0e\010\uff0e" +
-    "\011\uff0e\012\uff0e\013\uff0e\014\uff0e\015\uff0e\016\uff0e\017" +
-    "\uff0e\020\uff0e\021\uff0e\022\uff0e\023\uff0e\024\uff0e\025\uff0e" +
-    "\031\uff3f\032\uff0e\035\uff0e\053\uff0e\054\uff0e\055\uff0e\056" +
-    "\uff0e\057\uff0e\060\uff0e\061\uff0e\062\uff0e\063\uff0e\064\uff0e" +
-    "\065\uff0e\066\uff0e\067\uff0e\071\uff0e\073\uff0e\074\uff0e\075" +
-    "\uff0e\077\uff0e\100\uff0e\101\uff0e\102\uff0e\107\uff0e\110\uff0e" +
-    "\111\uff0e\001\002\000\136\002\uff23\004\uff23\005\uff23\006" +
-    "\uff23\007\uff23\010\uff23\011\uff23\012\uff23\013\uff23\014\uff23" +
-    "\015\uff23\016\uff23\017\uff23\020\uff23\021\uff23\022\uff23\023" +
-    "\uff23\024\uff23\025\uff23\031\uff23\032\uff23\035\uff23\053\uff23" +
-    "\054\uff23\055\uff23\056\uff23\057\uff23\060\uff23\061\uff23\062" +
-    "\uff23\063\uff23\064\uff23\065\uff23\066\uff23\067\uff23\071\uff23" +
-    "\073\uff23\074\uff23\075\uff23\077\uff23\100\uff23\101\uff23\102" +
-    "\uff23\107\uff23\110\uff23\111\uff23\001\002\000\134\002\uff10" +
-    "\004\uff10\005\uff10\007\uff10\010\uff10\011\uff10\012\uff10\013" +
-    "\uff10\014\uff10\015\uff10\016\uff10\017\uff10\020\uff10\021\uff10" +
-    "\022\uff10\023\uff10\024\uff10\025\uff10\031\uff41\032\uff10\035" +
-    "\uff10\053\uff10\054\uff10\055\uff10\056\uff10\057\uff10\060\uff10" +
-    "\061\uff10\062\uff10\063\uff10\064\uff10\065\uff10\066\uff10\067" +
-    "\uff10\071\uff10\073\uff10\074\uff10\075\uff10\077\uff10\100\uff10" +
-    "\101\uff10\102\uff10\107\uff10\110\uff10\111\uff10\001\002\000" +
-    "\136\002\uff1b\004\uff1b\005\uff1b\006\uff1b\007\uff1b\010\uff1b" +
-    "\011\uff1b\012\uff1b\013\uff1b\014\uff1b\015\uff1b\016\uff1b\017" +
-    "\uff1b\020\uff1b\021\uff1b\022\uff1b\023\uff1b\024\uff1b\025\uff1b" +
-    "\031\uff1b\032\uff1b\035\uff1b\053\uff1b\054\uff1b\055\uff1b\056" +
-    "\uff1b\057\uff1b\060\uff1b\061\uff1b\062\uff1b\063\uff1b\064\uff1b" +
-    "\065\uff1b\066\uff1b\067\uff1b\071\uff1b\073\uff1b\074\uff1b\075" +
-    "\uff1b\077\uff1b\100\uff1b\101\uff1b\102\uff1b\107\uff1b\110\uff1b" +
-    "\111\uff1b\001\002\000\136\002\uff45\004\uff45\005\uff45\006" +
-    "\uff45\007\uff45\010\uff45\011\uff45\012\uff45\013\uff45\014\uff45" +
-    "\015\uff45\016\uff45\017\uff45\020\uff45\021\uff45\022\uff45\023" +
-    "\uff45\024\uff45\025\uff45\031\uff45\032\uff45\035\uff45\053\uff45" +
-    "\054\uff45\055\uff45\056\uff45\057\uff45\060\uff45\061\uff45\062" +
-    "\uff45\063\uff45\064\uff45\065\uff45\066\uff45\067\uff45\071\uff45" +
-    "\073\uff45\074\uff45\075\uff45\077\uff45\100\uff45\101\uff45\102" +
-    "\uff45\107\uff45\110\uff45\111\uff45\001\002\000\136\002\uff1f" +
-    "\004\uff1f\005\uff1f\006\uff1f\007\uff1f\010\uff1f\011\uff1f\012" +
-    "\uff1f\013\uff1f\014\uff1f\015\uff1f\016\uff1f\017\uff1f\020\uff1f" +
-    "\021\uff1f\022\uff1f\023\uff1f\024\uff1f\025\uff1f\031\uff1f\032" +
-    "\uff1f\035\uff1f\053\uff1f\054\uff1f\055\uff1f\056\uff1f\057\uff1f" +
-    "\060\uff1f\061\uff1f\062\uff1f\063\uff1f\064\uff1f\065\uff1f\066" +
-    "\uff1f\067\uff1f\071\uff1f\073\uff1f\074\uff1f\075\uff1f\077\uff1f" +
-    "\100\uff1f\101\uff1f\102\uff1f\107\uff1f\110\uff1f\111\uff1f\001" +
-    "\002\000\130\002\uff4f\004\uff4f\005\uff4f\007\uff4f\010\uff4f" +
-    "\011\uff4f\012\uff4f\013\uff4f\014\uff4f\015\uff4f\016\uff4f\017" +
-    "\uff4f\020\uff4f\021\uff4f\022\uff4f\023\uff4f\024\uff4f\025\uff4f" +
-    "\032\uff4f\053\uff4f\054\uff4f\055\uff4f\056\uff4f\057\uff4f\060" +
-    "\uff4f\061\uff4f\062\uff4f\063\uff4f\064\uff4f\065\uff4f\066\uff4f" +
-    "\067\uff4f\071\uff4f\073\uff4f\074\uff4f\075\uff4f\077\uff4f\100" +
-    "\uff4f\101\uff4f\102\uff4f\107\uff4f\110\uff4f\111\uff4f\001\002" +
-    "\000\200\006\101\010\076\011\134\012\107\024\022\025" +
-    "\006\027\070\030\117\033\071\034\120\036\040\037\156" +
-    "\040\145\041\045\042\004\043\041\044\010\045\020\046" +
-    "\012\047\031\050\110\051\066\052\061\061\111\062\077" +
-    "\063\067\064\102\065\125\066\072\067\050\070\155\071" +
-    "\023\073\133\074\154\075\135\076\106\077\142\100\113" +
-    "\101\171\102\175\103\157\104\046\105\147\106\052\107" +
-    "\114\110\173\111\143\112\132\113\126\114\024\115\016" +
-    "\116\047\117\124\120\141\121\056\122\051\123\055\124" +
-    "\153\125\034\126\035\127\104\130\167\131\123\001\002" +
-    "\000\006\032\ufff7\100\ufff7\001\002\000\146\012\233\036" +
-    "\232\037\240\040\252\041\241\042\237\043\236\044\250" +
-    "\045\226\046\246\047\244\050\225\051\242\052\243\061" +
-    "\111\062\077\063\067\064\102\065\125\066\072\067\050" +
-    "\070\155\071\023\073\133\074\154\075\135\076\203\077" +
-    "\142\100\113\101\171\102\175\103\205\104\201\105\204" +
-    "\106\052\107\114\110\173\111\143\112\132\113\126\114" +
-    "\253\115\247\116\251\117\227\120\234\121\230\122\245" +
-    "\123\235\124\153\131\123\001\002\000\006\032\264\101" +
-    "\265\001\002\000\004\077\262\001\002\000\200\006\101" +
-    "\010\076\011\134\012\107\024\022\025\006\027\070\030" +
-    "\117\033\071\034\120\036\040\037\156\040\145\041\045" +
-    "\042\004\043\041\044\010\045\020\046\012\047\031\050" +
-    "\110\051\066\052\061\061\111\062\077\063\067\064\102" +
-    "\065\125\066\072\067\050\070\155\071\023\073\133\074" +
-    "\154\075\135\076\106\077\142\100\113\101\171\102\175" +
-    "\103\157\104\046\105\147\106\052\107\114\110\173\111" +
-    "\143\112\132\113\126\114\024\115\016\116\047\117\124" +
-    "\120\141\121\056\122\051\123\055\124\153\125\034\126" +
-    "\035\127\104\130\167\131\123\001\002\000\006\032\ufff4" +
-    "\101\ufff4\001\002\000\004\033\267\001\002\000\200\006" +
-    "\101\010\076\011\134\012\107\024\022\025\006\027\070" +
-    "\030\117\033\071\034\120\036\040\037\156\040\145\041" +
-    "\045\042\004\043\041\044\010\045\020\046\012\047\031" +
-    "\050\110\051\066\052\061\061\111\062\077\063\067\064" +
-    "\102\065\125\066\072\067\050\070\155\071\023\073\133" +
-    "\074\154\075\135\076\106\077\142\100\113\101\171\102" +
-    "\175\103\157\104\046\105\147\106\052\107\114\110\173" +
-    "\111\143\112\132\113\126\114\024\115\016\116\047\117" +
-    "\124\120\141\121\056\122\051\123\055\124\153\125\034" +
-    "\126\035\127\104\130\167\131\123\001\002\000\020\002" +
-    "\ufff6\005\ufff6\007\ufff6\032\ufff6\100\ufff6\101\ufff6\107\ufff6" +
-    "\001\002\000\146\012\233\036\232\037\240\040\252\041" +
-    "\241\042\237\043\236\044\250\045\226\046\246\047\244" +
-    "\050\225\051\242\052\243\061\111\062\077\063\067\064" +
-    "\102\065\125\066\072\067\050\070\155\071\023\073\133" +
-    "\074\154\075\135\076\203\077\142\100\113\101\171\102" +
-    "\175\103\205\104\201\105\204\106\052\107\114\110\173" +
-    "\111\143\112\132\113\126\114\253\115\247\116\251\117" +
-    "\227\120\234\121\230\122\245\123\235\124\153\131\123" +
-    "\001\002\000\004\077\271\001\002\000\200\006\101\010" +
-    "\076\011\134\012\107\024\022\025\006\027\070\030\117" +
-    "\033\071\034\120\036\040\037\156\040\145\041\045\042" +
-    "\004\043\041\044\010\045\020\046\012\047\031\050\110" +
-    "\051\066\052\061\061\111\062\077\063\067\064\102\065" +
-    "\125\066\072\067\050\070\155\071\023\073\133\074\154" +
-    "\075\135\076\106\077\142\100\113\101\171\102\175\103" +
-    "\157\104\046\105\147\106\052\107\114\110\173\111\143" +
-    "\112\132\113\126\114\024\115\016\116\047\117\124\120" +
-    "\141\121\056\122\051\123\055\124\153\125\034\126\035" +
-    "\127\104\130\167\131\123\001\002\000\006\032\ufff3\101" +
-    "\ufff3\001\002\000\146\012\uffb0\036\uffb0\037\uffb0\040\uffb0" +
-    "\041\uffb0\042\uffb0\043\uffb0\044\uffb0\045\uffb0\046\uffb0\047" +
-    "\uffb0\050\uffb0\051\uffb0\052\uffb0\061\uffb0\062\uffb0\063\uffb0" +
-    "\064\uffb0\065\uffb0\066\uffb0\067\uffb0\070\uffb0\071\uffb0\073" +
-    "\uffb0\074\uffb0\075\uffb0\076\uffb0\077\uffb0\100\uffb0\101\uffb0" +
-    "\102\uffb0\103\uffb0\104\uffb0\105\uffb0\106\uffb0\107\uffb0\110" +
-    "\uffb0\111\uffb0\112\uffb0\113\uffb0\114\uffb0\115\uffb0\116\uffb0" +
-    "\117\uffb0\120\uffb0\121\uffb0\122\uffb0\123\uffb0\124\uffb0\131" +
-    "\uffb0\001\002\000\200\006\101\010\076\011\134\012\107" +
-    "\024\022\025\006\027\070\030\117\033\071\034\120\036" +
-    "\040\037\156\040\145\041\045\042\004\043\041\044\010" +
-    "\045\020\046\012\047\031\050\110\051\066\052\061\061" +
-    "\111\062\077\063\067\064\102\065\125\066\072\067\050" +
-    "\070\155\071\023\073\133\074\154\075\135\076\106\077" +
-    "\142\100\113\101\171\102\175\103\157\104\046\105\147" +
-    "\106\052\107\114\110\173\111\143\112\132\113\126\114" +
-    "\024\115\016\116\047\117\124\120\141\121\056\122\051" +
-    "\123\055\124\153\125\034\126\035\127\104\130\167\131" +
-    "\123\001\002\000\006\007\276\032\216\001\002\000\004" +
-    "\106\277\001\002\000\200\006\101\010\076\011\134\012" +
-    "\107\024\022\025\006\027\070\030\117\033\071\034\120" +
-    "\036\040\037\156\040\145\041\045\042\004\043\041\044" +
-    "\010\045\020\046\012\047\031\050\110\051\066\052\061" +
-    "\061\111\062\077\063\067\064\102\065\125\066\072\067" +
-    "\050\070\155\071\023\073\133\074\154\075\135\076\106" +
-    "\077\142\100\113\101\171\102\175\103\157\104\046\105" +
-    "\147\106\052\107\114\110\173\111\143\112\132\113\126" +
-    "\114\024\115\016\116\047\117\124\120\141\121\056\122" +
-    "\051\123\055\124\153\125\034\126\035\127\104\130\167" +
-    "\131\123\001\002\000\004\107\301\001\002\000\200\006" +
-    "\101\010\076\011\134\012\107\024\022\025\006\027\070" +
-    "\030\117\033\071\034\120\036\040\037\156\040\145\041" +
-    "\045\042\004\043\041\044\010\045\020\046\012\047\031" +
-    "\050\110\051\066\052\061\061\111\062\077\063\067\064" +
-    "\102\065\125\066\072\067\050\070\155\071\023\073\133" +
-    "\074\154\075\135\076\106\077\142\100\113\101\171\102" +
-    "\175\103\157\104\046\105\147\106\052\107\114\110\173" +
-    "\111\143\112\132\113\126\114\024\115\016\116\047\117" +
-    "\124\120\141\121\056\122\051\123\055\124\153\125\034" +
-    "\126\035\127\104\130\167\131\123\001\002\000\020\002" +
-    "\ufff2\005\ufff2\007\ufff2\032\ufff2\100\ufff2\101\ufff2\107\ufff2" +
-    "\001\002\000\146\012\uffaf\036\uffaf\037\uffaf\040\uffaf\041" +
-    "\uffaf\042\uffaf\043\uffaf\044\uffaf\045\uffaf\046\uffaf\047\uffaf" +
-    "\050\uffaf\051\uffaf\052\uffaf\061\uffaf\062\uffaf\063\uffaf\064" +
-    "\uffaf\065\uffaf\066\uffaf\067\uffaf\070\uffaf\071\uffaf\073\uffaf" +
-    "\074\uffaf\075\uffaf\076\uffaf\077\uffaf\100\uffaf\101\uffaf\102" +
-    "\uffaf\103\uffaf\104\uffaf\105\uffaf\106\uffaf\107\uffaf\110\uffaf" +
-    "\111\uffaf\112\uffaf\113\uffaf\114\uffaf\115\uffaf\116\uffaf\117" +
-    "\uffaf\120\uffaf\121\uffaf\122\uffaf\123\uffaf\124\uffaf\131\uffaf" +
-    "\001\002\000\150\007\306\012\305\036\232\037\240\040" +
-    "\252\041\241\042\237\043\236\044\250\045\226\046\246" +
-    "\047\244\050\225\051\242\052\243\061\111\062\077\063" +
-    "\067\064\102\065\125\066\072\067\050\070\155\071\023" +
-    "\073\133\074\154\075\135\076\203\077\142\100\113\101" +
-    "\171\102\175\103\205\104\201\105\204\106\052\107\114" +
-    "\110\173\111\143\112\132\113\126\114\253\115\247\116" +
-    "\251\117\227\120\234\121\230\122\245\123\235\124\153" +
-    "\131\123\001\002\000\010\007\uff61\031\uff18\032\uff61\001" +
-    "\002\000\130\002\uff65\004\uff65\005\uff65\007\uff65\010\uff65" +
-    "\011\uff65\012\uff65\013\uff65\014\uff65\015\uff65\016\uff65\017" +
-    "\uff65\020\uff65\021\uff65\022\uff65\023\uff65\024\uff65\025\uff65" +
-    "\032\uff65\035\uff65\053\uff65\054\uff65\055\uff65\056\uff65\057" +
-    "\uff65\060\uff65\061\uff65\062\uff65\063\uff65\064\uff65\065\uff65" +
-    "\066\uff65\067\uff65\071\uff65\073\uff65\074\uff65\075\uff65\100" +
-    "\uff65\101\uff65\102\uff65\107\uff65\110\uff65\111\uff65\001\002" +
-    "\000\006\007\uff62\032\uff62\001\002\000\006\007\313\032" +
-    "\312\001\002\000\006\007\uff56\032\uff56\001\002\000\146" +
-    "\012\233\036\232\037\240\040\252\041\241\042\237\043" +
-    "\236\044\250\045\226\046\246\047\244\050\225\051\242" +
-    "\052\243\061\111\062\077\063\067\064\102\065\125\066" +
-    "\072\067\050\070\155\071\023\073\133\074\154\075\135" +
-    "\076\203\077\142\100\113\101\171\102\175\103\205\104" +
-    "\201\105\204\106\052\107\114\110\173\111\143\112\132" +
-    "\113\126\114\253\115\247\116\251\117\227\120\234\121" +
-    "\230\122\245\123\235\124\153\131\123\001\002\000\130" +
-    "\002\uff64\004\uff64\005\uff64\007\uff64\010\uff64\011\uff64\012" +
-    "\uff64\013\uff64\014\uff64\015\uff64\016\uff64\017\uff64\020\uff64" +
-    "\021\uff64\022\uff64\023\uff64\024\uff64\025\uff64\032\uff64\035" +
-    "\uff64\053\uff64\054\uff64\055\uff64\056\uff64\057\uff64\060\uff64" +
-    "\061\uff64\062\uff64\063\uff64\064\uff64\065\uff64\066\uff64\067" +
-    "\uff64\071\uff64\073\uff64\074\uff64\075\uff64\100\uff64\101\uff64" +
-    "\102\uff64\107\uff64\110\uff64\111\uff64\001\002\000\004\007" +
-    "\316\001\002\000\006\007\uff54\035\uff54\001\002\000\130" +
-    "\002\uff63\004\uff63\005\uff63\007\uff63\010\uff63\011\uff63\012" +
-    "\uff63\013\uff63\014\uff63\015\uff63\016\uff63\017\uff63\020\uff63" +
-    "\021\uff63\022\uff63\023\uff63\024\uff63\025\uff63\032\uff63\035" +
-    "\uff63\053\uff63\054\uff63\055\uff63\056\uff63\057\uff63\060\uff63" +
-    "\061\uff63\062\uff63\063\uff63\064\uff63\065\uff63\066\uff63\067" +
-    "\uff63\071\uff63\073\uff63\074\uff63\075\uff63\100\uff63\101\uff63" +
-    "\102\uff63\107\uff63\110\uff63\111\uff63\001\002\000\152\007" +
-    "\333\012\233\036\327\037\343\040\252\041\346\042\341" +
-    "\043\337\044\365\045\325\046\364\047\354\050\322\051" +
-    "\352\052\353\061\340\062\336\063\351\064\355\065\366" +
-    "\066\321\067\362\070\342\071\350\073\361\074\320\075" +
-    "\332\076\326\077\334\100\345\101\344\102\360\103\323" +
-    "\104\357\105\204\106\363\107\356\110\331\111\335\112" +
-    "\132\113\126\114\253\115\247\116\251\117\227\120\234" +
-    "\121\230\122\245\123\235\124\153\130\167\131\347\001" +
-    "\002\000\134\002\uff33\004\uff33\005\uff33\006\uff33\007\uff33" +
-    "\010\uff33\011\uff33\012\uff33\013\uff33\014\uff33\015\uff33\016" +
-    "\uff33\017\uff33\020\uff33\021\uff33\022\uff33\023\uff33\024\uff33" +
-    "\025\uff33\032\uff33\035\uff33\053\uff33\054\uff33\055\uff33\056" +
-    "\uff33\057\uff33\060\uff33\061\uff33\062\uff33\063\uff33\064\uff33" +
-    "\065\uff33\066\uff33\067\uff33\071\uff33\073\uff33\074\uff33\075" +
-    "\uff33\077\uff33\100\uff33\101\uff33\102\uff33\107\uff33\110\uff33" +
-    "\111\uff33\001\002\000\134\002\uff38\004\uff38\005\uff38\006" +
-    "\uff38\007\uff38\010\uff38\011\uff38\012\uff38\013\uff38\014\uff38" +
-    "\015\uff38\016\uff38\017\uff38\020\uff38\021\uff38\022\uff38\023" +
-    "\uff38\024\uff38\025\uff38\032\uff38\035\uff38\053\uff38\054\uff38" +
-    "\055\uff38\056\uff38\057\uff38\060\uff38\061\uff38\062\uff38\063" +
-    "\uff38\064\uff38\065\uff38\066\uff38\067\uff38\071\uff38\073\uff38" +
-    "\074\uff38\075\uff38\077\uff38\100\uff38\101\uff38\102\uff38\107" +
-    "\uff38\110\uff38\111\uff38\001\002\000\134\002\uff3d\004\uff3d" +
-    "\005\uff3d\006\uff3d\007\uff3d\010\uff3d\011\uff3d\012\uff3d\013" +
-    "\uff3d\014\uff3d\015\uff3d\016\uff3d\017\uff3d\020\uff3d\021\uff3d" +
-    "\022\uff3d\023\uff3d\024\uff3d\025\uff3d\032\uff3d\035\uff3d\053" +
-    "\uff3d\054\uff3d\055\uff3d\056\uff3d\057\uff3d\060\uff3d\061\uff3d" +
-    "\062\uff3d\063\uff3d\064\uff3d\065\uff3d\066\uff3d\067\uff3d\071" +
-    "\uff3d\073\uff3d\074\uff3d\075\uff3d\077\uff3d\100\uff3d\101\uff3d" +
-    "\102\uff3d\107\uff3d\110\uff3d\111\uff3d\001\002\000\134\002" +
-    "\uff2d\004\uff2d\005\uff2d\006\uff2d\007\uff2d\010\uff2d\011\uff2d" +
-    "\012\uff2d\013\uff2d\014\uff2d\015\uff2d\016\uff2d\017\uff2d\020" +
-    "\uff2d\021\uff2d\022\uff2d\023\uff2d\024\uff2d\025\uff2d\032\uff2d" +
-    "\035\uff2d\053\uff2d\054\uff2d\055\uff2d\056\uff2d\057\uff2d\060" +
-    "\uff2d\061\uff2d\062\uff2d\063\uff2d\064\uff2d\065\uff2d\066\uff2d" +
-    "\067\uff2d\071\uff2d\073\uff2d\074\uff2d\075\uff2d\077\uff2d\100" +
-    "\uff2d\101\uff2d\102\uff2d\107\uff2d\110\uff2d\111\uff2d\001\002" +
-    "\000\004\007\370\001\002\000\134\002\uff40\004\uff40\005" +
-    "\uff40\006\uff40\007\uff40\010\uff40\011\uff40\012\uff40\013\uff40" +
-    "\014\uff40\015\uff40\016\uff40\017\uff40\020\uff40\021\uff40\022" +
-    "\uff40\023\uff40\024\uff40\025\uff40\032\uff40\035\uff40\053\uff40" +
-    "\054\uff40\055\uff40\056\uff40\057\uff40\060\uff40\061\uff40\062" +
-    "\uff40\063\uff40\064\uff40\065\uff40\066\uff40\067\uff40\071\uff40" +
-    "\073\uff40\074\uff40\075\uff40\077\uff40\100\uff40\101\uff40\102" +
-    "\uff40\107\uff40\110\uff40\111\uff40\001\002\000\134\002\uff31" +
-    "\004\uff31\005\uff31\006\uff31\007\uff31\010\uff31\011\uff31\012" +
-    "\uff31\013\uff31\014\uff31\015\uff31\016\uff31\017\uff31\020\uff31" +
-    "\021\uff31\022\uff31\023\uff31\024\uff31\025\uff31\032\uff31\035" +
-    "\uff31\053\uff31\054\uff31\055\uff31\056\uff31\057\uff31\060\uff31" +
-    "\061\uff31\062\uff31\063\uff31\064\uff31\065\uff31\066\uff31\067" +
-    "\uff31\071\uff31\073\uff31\074\uff31\075\uff31\077\uff31\100\uff31" +
-    "\101\uff31\102\uff31\107\uff31\110\uff31\111\uff31\001\002\000" +
-    "\134\002\uff47\004\uff47\005\uff47\006\uff47\007\uff47\010\uff47" +
-    "\011\uff47\012\uff47\013\uff47\014\uff47\015\uff47\016\uff47\017" +
-    "\uff47\020\uff47\021\uff47\022\uff47\023\uff47\024\uff47\025\uff47" +
-    "\032\uff47\035\uff47\053\uff47\054\uff47\055\uff47\056\uff47\057" +
-    "\uff47\060\uff47\061\uff47\062\uff47\063\uff47\064\uff47\065\uff47" +
-    "\066\uff47\067\uff47\071\uff47\073\uff47\074\uff47\075\uff47\077" +
-    "\uff47\100\uff47\101\uff47\102\uff47\107\uff47\110\uff47\111\uff47" +
-    "\001\002\000\004\007\367\001\002\000\134\002\uff28\004" +
-    "\uff28\005\uff28\006\uff28\007\uff28\010\uff28\011\uff28\012\uff28" +
-    "\013\uff28\014\uff28\015\uff28\016\uff28\017\uff28\020\uff28\021" +
-    "\uff28\022\uff28\023\uff28\024\uff28\025\uff28\032\uff28\035\uff28" +
-    "\053\uff28\054\uff28\055\uff28\056\uff28\057\uff28\060\uff28\061" +
-    "\uff28\062\uff28\063\uff28\064\uff28\065\uff28\066\uff28\067\uff28" +
-    "\071\uff28\073\uff28\074\uff28\075\uff28\077\uff28\100\uff28\101" +
-    "\uff28\102\uff28\107\uff28\110\uff28\111\uff28\001\002\000\134" +
-    "\002\uff32\004\uff32\005\uff32\006\uff32\007\uff32\010\uff32\011" +
-    "\uff32\012\uff32\013\uff32\014\uff32\015\uff32\016\uff32\017\uff32" +
-    "\020\uff32\021\uff32\022\uff32\023\uff32\024\uff32\025\uff32\032" +
-    "\uff32\035\uff32\053\uff32\054\uff32\055\uff32\056\uff32\057\uff32" +
-    "\060\uff32\061\uff32\062\uff32\063\uff32\064\uff32\065\uff32\066" +
-    "\uff32\067\uff32\071\uff32\073\uff32\074\uff32\075\uff32\077\uff32" +
-    "\100\uff32\101\uff32\102\uff32\107\uff32\110\uff32\111\uff32\001" +
-    "\002\000\130\002\uff68\004\uff68\005\uff68\007\uff68\010\uff68" +
-    "\011\uff68\012\uff68\013\uff68\014\uff68\015\uff68\016\uff68\017" +
-    "\uff68\020\uff68\021\uff68\022\uff68\023\uff68\024\uff68\025\uff68" +
-    "\032\uff68\035\uff68\053\uff68\054\uff68\055\uff68\056\uff68\057" +
-    "\uff68\060\uff68\061\uff68\062\uff68\063\uff68\064\uff68\065\uff68" +
-    "\066\uff68\067\uff68\071\uff68\073\uff68\074\uff68\075\uff68\100" +
-    "\uff68\101\uff68\102\uff68\107\uff68\110\uff68\111\uff68\001\002" +
-    "\000\134\002\uff30\004\uff30\005\uff30\006\uff30\007\uff30\010" +
-    "\uff30\011\uff30\012\uff30\013\uff30\014\uff30\015\uff30\016\uff30" +
-    "\017\uff30\020\uff30\021\uff30\022\uff30\023\uff30\024\uff30\025" +
-    "\uff30\032\uff30\035\uff30\053\uff30\054\uff30\055\uff30\056\uff30" +
-    "\057\uff30\060\uff30\061\uff30\062\uff30\063\uff30\064\uff30\065" +
-    "\uff30\066\uff30\067\uff30\071\uff30\073\uff30\074\uff30\075\uff30" +
-    "\077\uff30\100\uff30\101\uff30\102\uff30\107\uff30\110\uff30\111" +
-    "\uff30\001\002\000\134\002\uff27\004\uff27\005\uff27\006\uff27" +
-    "\007\uff27\010\uff27\011\uff27\012\uff27\013\uff27\014\uff27\015" +
-    "\uff27\016\uff27\017\uff27\020\uff27\021\uff27\022\uff27\023\uff27" +
-    "\024\uff27\025\uff27\032\uff27\035\uff27\053\uff27\054\uff27\055" +
-    "\uff27\056\uff27\057\uff27\060\uff27\061\uff27\062\uff27\063\uff27" +
-    "\064\uff27\065\uff27\066\uff27\067\uff27\071\uff27\073\uff27\074" +
-    "\uff27\075\uff27\077\uff27\100\uff27\101\uff27\102\uff27\107\uff27" +
-    "\110\uff27\111\uff27\001\002\000\134\002\uff25\004\uff25\005" +
-    "\uff25\006\uff25\007\uff25\010\uff25\011\uff25\012\uff25\013\uff25" +
-    "\014\uff25\015\uff25\016\uff25\017\uff25\020\uff25\021\uff25\022" +
-    "\uff25\023\uff25\024\uff25\025\uff25\032\uff25\035\uff25\053\uff25" +
-    "\054\uff25\055\uff25\056\uff25\057\uff25\060\uff25\061\uff25\062" +
-    "\uff25\063\uff25\064\uff25\065\uff25\066\uff25\067\uff25\071\uff25" +
-    "\073\uff25\074\uff25\075\uff25\077\uff25\100\uff25\101\uff25\102" +
-    "\uff25\107\uff25\110\uff25\111\uff25\001\002\000\134\002\uff42" +
-    "\004\uff42\005\uff42\006\uff42\007\uff42\010\uff42\011\uff42\012" +
-    "\uff42\013\uff42\014\uff42\015\uff42\016\uff42\017\uff42\020\uff42" +
-    "\021\uff42\022\uff42\023\uff42\024\uff42\025\uff42\032\uff42\035" +
-    "\uff42\053\uff42\054\uff42\055\uff42\056\uff42\057\uff42\060\uff42" +
-    "\061\uff42\062\uff42\063\uff42\064\uff42\065\uff42\066\uff42\067" +
-    "\uff42\071\uff42\073\uff42\074\uff42\075\uff42\077\uff42\100\uff42" +
-    "\101\uff42\102\uff42\107\uff42\110\uff42\111\uff42\001\002\000" +
-    "\134\002\uff26\004\uff26\005\uff26\006\uff26\007\uff26\010\uff26" +
-    "\011\uff26\012\uff26\013\uff26\014\uff26\015\uff26\016\uff26\017" +
-    "\uff26\020\uff26\021\uff26\022\uff26\023\uff26\024\uff26\025\uff26" +
-    "\032\uff26\035\uff26\053\uff26\054\uff26\055\uff26\056\uff26\057" +
-    "\uff26\060\uff26\061\uff26\062\uff26\063\uff26\064\uff26\065\uff26" +
-    "\066\uff26\067\uff26\071\uff26\073\uff26\074\uff26\075\uff26\077" +
-    "\uff26\100\uff26\101\uff26\102\uff26\107\uff26\110\uff26\111\uff26" +
-    "\001\002\000\134\002\uff43\004\uff43\005\uff43\006\uff43\007" +
-    "\uff43\010\uff43\011\uff43\012\uff43\013\uff43\014\uff43\015\uff43" +
-    "\016\uff43\017\uff43\020\uff43\021\uff43\022\uff43\023\uff43\024" +
-    "\uff43\025\uff43\032\uff43\035\uff43\053\uff43\054\uff43\055\uff43" +
-    "\056\uff43\057\uff43\060\uff43\061\uff43\062\uff43\063\uff43\064" +
-    "\uff43\065\uff43\066\uff43\067\uff43\071\uff43\073\uff43\074\uff43" +
-    "\075\uff43\077\uff43\100\uff43\101\uff43\102\uff43\107\uff43\110" +
-    "\uff43\111\uff43\001\002\000\134\002\uff36\004\uff36\005\uff36" +
-    "\006\uff36\007\uff36\010\uff36\011\uff36\012\uff36\013\uff36\014" +
-    "\uff36\015\uff36\016\uff36\017\uff36\020\uff36\021\uff36\022\uff36" +
-    "\023\uff36\024\uff36\025\uff36\032\uff36\035\uff36\053\uff36\054" +
-    "\uff36\055\uff36\056\uff36\057\uff36\060\uff36\061\uff36\062\uff36" +
-    "\063\uff36\064\uff36\065\uff36\066\uff36\067\uff36\071\uff36\073" +
-    "\uff36\074\uff36\075\uff36\077\uff36\100\uff36\101\uff36\102\uff36" +
-    "\107\uff36\110\uff36\111\uff36\001\002\000\134\002\uff46\004" +
-    "\uff46\005\uff46\006\uff46\007\uff46\010\uff46\011\uff46\012\uff46" +
-    "\013\uff46\014\uff46\015\uff46\016\uff46\017\uff46\020\uff46\021" +
-    "\uff46\022\uff46\023\uff46\024\uff46\025\uff46\032\uff46\035\uff46" +
-    "\053\uff46\054\uff46\055\uff46\056\uff46\057\uff46\060\uff46\061" +
-    "\uff46\062\uff46\063\uff46\064\uff46\065\uff46\066\uff46\067\uff46" +
-    "\071\uff46\073\uff46\074\uff46\075\uff46\077\uff46\100\uff46\101" +
-    "\uff46\102\uff46\107\uff46\110\uff46\111\uff46\001\002\000\134" +
-    "\002\uff2e\004\uff2e\005\uff2e\006\uff2e\007\uff2e\010\uff2e\011" +
-    "\uff2e\012\uff2e\013\uff2e\014\uff2e\015\uff2e\016\uff2e\017\uff2e" +
-    "\020\uff2e\021\uff2e\022\uff2e\023\uff2e\024\uff2e\025\uff2e\032" +
-    "\uff2e\035\uff2e\053\uff2e\054\uff2e\055\uff2e\056\uff2e\057\uff2e" +
-    "\060\uff2e\061\uff2e\062\uff2e\063\uff2e\064\uff2e\065\uff2e\066" +
-    "\uff2e\067\uff2e\071\uff2e\073\uff2e\074\uff2e\075\uff2e\077\uff2e" +
-    "\100\uff2e\101\uff2e\102\uff2e\107\uff2e\110\uff2e\111\uff2e\001" +
-    "\002\000\134\002\uff2f\004\uff2f\005\uff2f\006\uff2f\007\uff2f" +
-    "\010\uff2f\011\uff2f\012\uff2f\013\uff2f\014\uff2f\015\uff2f\016" +
-    "\uff2f\017\uff2f\020\uff2f\021\uff2f\022\uff2f\023\uff2f\024\uff2f" +
-    "\025\uff2f\032\uff2f\035\uff2f\053\uff2f\054\uff2f\055\uff2f\056" +
-    "\uff2f\057\uff2f\060\uff2f\061\uff2f\062\uff2f\063\uff2f\064\uff2f" +
-    "\065\uff2f\066\uff2f\067\uff2f\071\uff2f\073\uff2f\074\uff2f\075" +
-    "\uff2f\077\uff2f\100\uff2f\101\uff2f\102\uff2f\107\uff2f\110\uff2f" +
-    "\111\uff2f\001\002\000\134\002\uff44\004\uff44\005\uff44\006" +
-    "\uff44\007\uff44\010\uff44\011\uff44\012\uff44\013\uff44\014\uff44" +
-    "\015\uff44\016\uff44\017\uff44\020\uff44\021\uff44\022\uff44\023" +
-    "\uff44\024\uff44\025\uff44\032\uff44\035\uff44\053\uff44\054\uff44" +
-    "\055\uff44\056\uff44\057\uff44\060\uff44\061\uff44\062\uff44\063" +
-    "\uff44\064\uff44\065\uff44\066\uff44\067\uff44\071\uff44\073\uff44" +
-    "\074\uff44\075\uff44\077\uff44\100\uff44\101\uff44\102\uff44\107" +
-    "\uff44\110\uff44\111\uff44\001\002\000\134\002\uff49\004\uff49" +
-    "\005\uff49\006\uff49\007\uff49\010\uff49\011\uff49\012\uff49\013" +
-    "\uff49\014\uff49\015\uff49\016\uff49\017\uff49\020\uff49\021\uff49" +
-    "\022\uff49\023\uff49\024\uff49\025\uff49\032\uff49\035\uff49\053" +
-    "\uff49\054\uff49\055\uff49\056\uff49\057\uff49\060\uff49\061\uff49" +
-    "\062\uff49\063\uff49\064\uff49\065\uff49\066\uff49\067\uff49\071" +
-    "\uff49\073\uff49\074\uff49\075\uff49\077\uff49\100\uff49\101\uff49" +
-    "\102\uff49\107\uff49\110\uff49\111\uff49\001\002\000\134\002" +
-    "\uff35\004\uff35\005\uff35\006\uff35\007\uff35\010\uff35\011\uff35" +
-    "\012\uff35\013\uff35\014\uff35\015\uff35\016\uff35\017\uff35\020" +
-    "\uff35\021\uff35\022\uff35\023\uff35\024\uff35\025\uff35\032\uff35" +
-    "\035\uff35\053\uff35\054\uff35\055\uff35\056\uff35\057\uff35\060" +
-    "\uff35\061\uff35\062\uff35\063\uff35\064\uff35\065\uff35\066\uff35" +
-    "\067\uff35\071\uff35\073\uff35\074\uff35\075\uff35\077\uff35\100" +
-    "\uff35\101\uff35\102\uff35\107\uff35\110\uff35\111\uff35\001\002" +
-    "\000\134\002\uff19\004\uff19\005\uff19\006\uff19\007\uff19\010" +
-    "\uff19\011\uff19\012\uff19\013\uff19\014\uff19\015\uff19\016\uff19" +
-    "\017\uff19\020\uff19\021\uff19\022\uff19\023\uff19\024\uff19\025" +
-    "\uff19\032\uff19\035\uff19\053\uff19\054\uff19\055\uff19\056\uff19" +
-    "\057\uff19\060\uff19\061\uff19\062\uff19\063\uff19\064\uff19\065" +
-    "\uff19\066\uff19\067\uff19\071\uff19\073\uff19\074\uff19\075\uff19" +
-    "\077\uff19\100\uff19\101\uff19\102\uff19\107\uff19\110\uff19\111" +
-    "\uff19\001\002\000\134\002\uff3c\004\uff3c\005\uff3c\006\uff3c" +
-    "\007\uff3c\010\uff3c\011\uff3c\012\uff3c\013\uff3c\014\uff3c\015" +
-    "\uff3c\016\uff3c\017\uff3c\020\uff3c\021\uff3c\022\uff3c\023\uff3c" +
-    "\024\uff3c\025\uff3c\032\uff3c\035\uff3c\053\uff3c\054\uff3c\055" +
-    "\uff3c\056\uff3c\057\uff3c\060\uff3c\061\uff3c\062\uff3c\063\uff3c" +
-    "\064\uff3c\065\uff3c\066\uff3c\067\uff3c\071\uff3c\073\uff3c\074" +
-    "\uff3c\075\uff3c\077\uff3c\100\uff3c\101\uff3c\102\uff3c\107\uff3c" +
-    "\110\uff3c\111\uff3c\001\002\000\134\002\uff3b\004\uff3b\005" +
-    "\uff3b\006\uff3b\007\uff3b\010\uff3b\011\uff3b\012\uff3b\013\uff3b" +
-    "\014\uff3b\015\uff3b\016\uff3b\017\uff3b\020\uff3b\021\uff3b\022" +
-    "\uff3b\023\uff3b\024\uff3b\025\uff3b\032\uff3b\035\uff3b\053\uff3b" +
-    "\054\uff3b\055\uff3b\056\uff3b\057\uff3b\060\uff3b\061\uff3b\062" +
-    "\uff3b\063\uff3b\064\uff3b\065\uff3b\066\uff3b\067\uff3b\071\uff3b" +
-    "\073\uff3b\074\uff3b\075\uff3b\077\uff3b\100\uff3b\101\uff3b\102" +
-    "\uff3b\107\uff3b\110\uff3b\111\uff3b\001\002\000\134\002\uff3e" +
-    "\004\uff3e\005\uff3e\006\uff3e\007\uff3e\010\uff3e\011\uff3e\012" +
-    "\uff3e\013\uff3e\014\uff3e\015\uff3e\016\uff3e\017\uff3e\020\uff3e" +
-    "\021\uff3e\022\uff3e\023\uff3e\024\uff3e\025\uff3e\032\uff3e\035" +
-    "\uff3e\053\uff3e\054\uff3e\055\uff3e\056\uff3e\057\uff3e\060\uff3e" +
-    "\061\uff3e\062\uff3e\063\uff3e\064\uff3e\065\uff3e\066\uff3e\067" +
-    "\uff3e\071\uff3e\073\uff3e\074\uff3e\075\uff3e\077\uff3e\100\uff3e" +
-    "\101\uff3e\102\uff3e\107\uff3e\110\uff3e\111\uff3e\001\002\000" +
-    "\134\002\uff3a\004\uff3a\005\uff3a\006\uff3a\007\uff3a\010\uff3a" +
-    "\011\uff3a\012\uff3a\013\uff3a\014\uff3a\015\uff3a\016\uff3a\017" +
-    "\uff3a\020\uff3a\021\uff3a\022\uff3a\023\uff3a\024\uff3a\025\uff3a" +
-    "\032\uff3a\035\uff3a\053\uff3a\054\uff3a\055\uff3a\056\uff3a\057" +
-    "\uff3a\060\uff3a\061\uff3a\062\uff3a\063\uff3a\064\uff3a\065\uff3a" +
-    "\066\uff3a\067\uff3a\071\uff3a\073\uff3a\074\uff3a\075\uff3a\077" +
-    "\uff3a\100\uff3a\101\uff3a\102\uff3a\107\uff3a\110\uff3a\111\uff3a" +
-    "\001\002\000\134\002\uff29\004\uff29\005\uff29\006\uff29\007" +
-    "\uff29\010\uff29\011\uff29\012\uff29\013\uff29\014\uff29\015\uff29" +
-    "\016\uff29\017\uff29\020\uff29\021\uff29\022\uff29\023\uff29\024" +
-    "\uff29\025\uff29\032\uff29\035\uff29\053\uff29\054\uff29\055\uff29" +
-    "\056\uff29\057\uff29\060\uff29\061\uff29\062\uff29\063\uff29\064" +
-    "\uff29\065\uff29\066\uff29\067\uff29\071\uff29\073\uff29\074\uff29" +
-    "\075\uff29\077\uff29\100\uff29\101\uff29\102\uff29\107\uff29\110" +
-    "\uff29\111\uff29\001\002\000\134\002\uff2c\004\uff2c\005\uff2c" +
-    "\006\uff2c\007\uff2c\010\uff2c\011\uff2c\012\uff2c\013\uff2c\014" +
-    "\uff2c\015\uff2c\016\uff2c\017\uff2c\020\uff2c\021\uff2c\022\uff2c" +
-    "\023\uff2c\024\uff2c\025\uff2c\032\uff2c\035\uff2c\053\uff2c\054" +
-    "\uff2c\055\uff2c\056\uff2c\057\uff2c\060\uff2c\061\uff2c\062\uff2c" +
-    "\063\uff2c\064\uff2c\065\uff2c\066\uff2c\067\uff2c\071\uff2c\073" +
-    "\uff2c\074\uff2c\075\uff2c\077\uff2c\100\uff2c\101\uff2c\102\uff2c" +
-    "\107\uff2c\110\uff2c\111\uff2c\001\002\000\134\002\uff48\004" +
-    "\uff48\005\uff48\006\uff48\007\uff48\010\uff48\011\uff48\012\uff48" +
-    "\013\uff48\014\uff48\015\uff48\016\uff48\017\uff48\020\uff48\021" +
-    "\uff48\022\uff48\023\uff48\024\uff48\025\uff48\032\uff48\035\uff48" +
-    "\053\uff48\054\uff48\055\uff48\056\uff48\057\uff48\060\uff48\061" +
-    "\uff48\062\uff48\063\uff48\064\uff48\065\uff48\066\uff48\067\uff48" +
-    "\071\uff48\073\uff48\074\uff48\075\uff48\077\uff48\100\uff48\101" +
-    "\uff48\102\uff48\107\uff48\110\uff48\111\uff48\001\002\000\134" +
-    "\002\uff34\004\uff34\005\uff34\006\uff34\007\uff34\010\uff34\011" +
-    "\uff34\012\uff34\013\uff34\014\uff34\015\uff34\016\uff34\017\uff34" +
-    "\020\uff34\021\uff34\022\uff34\023\uff34\024\uff34\025\uff34\032" +
-    "\uff34\035\uff34\053\uff34\054\uff34\055\uff34\056\uff34\057\uff34" +
-    "\060\uff34\061\uff34\062\uff34\063\uff34\064\uff34\065\uff34\066" +
-    "\uff34\067\uff34\071\uff34\073\uff34\074\uff34\075\uff34\077\uff34" +
-    "\100\uff34\101\uff34\102\uff34\107\uff34\110\uff34\111\uff34\001" +
-    "\002\000\134\002\uff37\004\uff37\005\uff37\006\uff37\007\uff37" +
-    "\010\uff37\011\uff37\012\uff37\013\uff37\014\uff37\015\uff37\016" +
-    "\uff37\017\uff37\020\uff37\021\uff37\022\uff37\023\uff37\024\uff37" +
-    "\025\uff37\032\uff37\035\uff37\053\uff37\054\uff37\055\uff37\056" +
-    "\uff37\057\uff37\060\uff37\061\uff37\062\uff37\063\uff37\064\uff37" +
-    "\065\uff37\066\uff37\067\uff37\071\uff37\073\uff37\074\uff37\075" +
-    "\uff37\077\uff37\100\uff37\101\uff37\102\uff37\107\uff37\110\uff37" +
-    "\111\uff37\001\002\000\134\002\uff2a\004\uff2a\005\uff2a\006" +
-    "\uff2a\007\uff2a\010\uff2a\011\uff2a\012\uff2a\013\uff2a\014\uff2a" +
-    "\015\uff2a\016\uff2a\017\uff2a\020\uff2a\021\uff2a\022\uff2a\023" +
-    "\uff2a\024\uff2a\025\uff2a\032\uff2a\035\uff2a\053\uff2a\054\uff2a" +
-    "\055\uff2a\056\uff2a\057\uff2a\060\uff2a\061\uff2a\062\uff2a\063" +
-    "\uff2a\064\uff2a\065\uff2a\066\uff2a\067\uff2a\071\uff2a\073\uff2a" +
-    "\074\uff2a\075\uff2a\077\uff2a\100\uff2a\101\uff2a\102\uff2a\107" +
-    "\uff2a\110\uff2a\111\uff2a\001\002\000\134\002\uff3f\004\uff3f" +
-    "\005\uff3f\006\uff3f\007\uff3f\010\uff3f\011\uff3f\012\uff3f\013" +
-    "\uff3f\014\uff3f\015\uff3f\016\uff3f\017\uff3f\020\uff3f\021\uff3f" +
-    "\022\uff3f\023\uff3f\024\uff3f\025\uff3f\032\uff3f\035\uff3f\053" +
-    "\uff3f\054\uff3f\055\uff3f\056\uff3f\057\uff3f\060\uff3f\061\uff3f" +
-    "\062\uff3f\063\uff3f\064\uff3f\065\uff3f\066\uff3f\067\uff3f\071" +
-    "\uff3f\073\uff3f\074\uff3f\075\uff3f\077\uff3f\100\uff3f\101\uff3f" +
-    "\102\uff3f\107\uff3f\110\uff3f\111\uff3f\001\002\000\134\002" +
-    "\uff41\004\uff41\005\uff41\006\uff41\007\uff41\010\uff41\011\uff41" +
-    "\012\uff41\013\uff41\014\uff41\015\uff41\016\uff41\017\uff41\020" +
-    "\uff41\021\uff41\022\uff41\023\uff41\024\uff41\025\uff41\032\uff41" +
-    "\035\uff41\053\uff41\054\uff41\055\uff41\056\uff41\057\uff41\060" +
-    "\uff41\061\uff41\062\uff41\063\uff41\064\uff41\065\uff41\066\uff41" +
-    "\067\uff41\071\uff41\073\uff41\074\uff41\075\uff41\077\uff41\100" +
-    "\uff41\101\uff41\102\uff41\107\uff41\110\uff41\111\uff41\001\002" +
-    "\000\134\002\uff39\004\uff39\005\uff39\006\uff39\007\uff39\010" +
-    "\uff39\011\uff39\012\uff39\013\uff39\014\uff39\015\uff39\016\uff39" +
-    "\017\uff39\020\uff39\021\uff39\022\uff39\023\uff39\024\uff39\025" +
-    "\uff39\032\uff39\035\uff39\053\uff39\054\uff39\055\uff39\056\uff39" +
-    "\057\uff39\060\uff39\061\uff39\062\uff39\063\uff39\064\uff39\065" +
-    "\uff39\066\uff39\067\uff39\071\uff39\073\uff39\074\uff39\075\uff39" +
-    "\077\uff39\100\uff39\101\uff39\102\uff39\107\uff39\110\uff39\111" +
-    "\uff39\001\002\000\130\002\uff66\004\uff66\005\uff66\007\uff66" +
-    "\010\uff66\011\uff66\012\uff66\013\uff66\014\uff66\015\uff66\016" +
-    "\uff66\017\uff66\020\uff66\021\uff66\022\uff66\023\uff66\024\uff66" +
-    "\025\uff66\032\uff66\035\uff66\053\uff66\054\uff66\055\uff66\056" +
-    "\uff66\057\uff66\060\uff66\061\uff66\062\uff66\063\uff66\064\uff66" +
-    "\065\uff66\066\uff66\067\uff66\071\uff66\073\uff66\074\uff66\075" +
-    "\uff66\100\uff66\101\uff66\102\uff66\107\uff66\110\uff66\111\uff66" +
-    "\001\002\000\130\002\uff67\004\uff67\005\uff67\007\uff67\010" +
-    "\uff67\011\uff67\012\uff67\013\uff67\014\uff67\015\uff67\016\uff67" +
-    "\017\uff67\020\uff67\021\uff67\022\uff67\023\uff67\024\uff67\025" +
-    "\uff67\032\uff67\035\uff67\053\uff67\054\uff67\055\uff67\056\uff67" +
-    "\057\uff67\060\uff67\061\uff67\062\uff67\063\uff67\064\uff67\065" +
-    "\uff67\066\uff67\067\uff67\071\uff67\073\uff67\074\uff67\075\uff67" +
-    "\100\uff67\101\uff67\102\uff67\107\uff67\110\uff67\111\uff67\001" +
-    "\002\000\146\012\233\036\327\037\343\040\252\041\346" +
-    "\042\341\043\337\044\365\045\325\046\364\047\354\050" +
-    "\322\051\352\052\353\061\340\062\336\063\351\064\355" +
-    "\065\366\066\321\067\362\070\342\071\350\073\361\074" +
-    "\320\075\332\076\326\077\334\100\345\101\344\102\360" +
-    "\103\323\104\357\105\204\106\363\107\356\110\331\111" +
-    "\335\112\132\113\126\114\253\115\247\116\251\117\227" +
-    "\120\234\121\230\122\245\123\235\124\153\131\347\001" +
-    "\002\000\134\002\uff4d\004\uff4d\005\uff4d\006\uff4d\007\uff4d" +
-    "\010\uff4d\011\uff4d\012\uff4d\013\uff4d\014\uff4d\015\uff4d\016" +
-    "\uff4d\017\uff4d\020\uff4d\021\uff4d\022\uff4d\023\uff4d\024\uff4d" +
-    "\025\uff4d\032\uff4d\035\uff4d\053\uff4d\054\uff4d\055\uff4d\056" +
-    "\uff4d\057\uff4d\060\uff4d\061\uff4d\062\uff4d\063\uff4d\064\uff4d" +
-    "\065\uff4d\066\uff4d\067\uff4d\071\uff4d\073\uff4d\074\uff4d\075" +
-    "\uff4d\077\uff4d\100\uff4d\101\uff4d\102\uff4d\107\uff4d\110\uff4d" +
-    "\111\uff4d\001\002\000\134\002\uff4b\004\uff4b\005\uff4b\006" +
-    "\uff4b\007\uff4b\010\uff4b\011\uff4b\012\uff4b\013\uff4b\014\uff4b" +
-    "\015\uff4b\016\uff4b\017\uff4b\020\uff4b\021\uff4b\022\uff4b\023" +
-    "\uff4b\024\uff4b\025\uff4b\032\uff4b\035\uff4b\053\uff4b\054\uff4b" +
-    "\055\uff4b\056\uff4b\057\uff4b\060\uff4b\061\uff4b\062\uff4b\063" +
-    "\uff4b\064\uff4b\065\uff4b\066\uff4b\067\uff4b\071\uff4b\073\uff4b" +
-    "\074\uff4b\075\uff4b\077\uff4b\100\uff4b\101\uff4b\102\uff4b\107" +
-    "\uff4b\110\uff4b\111\uff4b\001\002\000\120\002\uffd0\005\uffd0" +
-    "\007\uffd0\010\uffd0\011\uffd0\012\uffd0\013\uffd0\014\uffd0\015" +
-    "\uffd0\016\uffd0\017\uffd0\020\uffd0\021\uffd0\022\uffd0\023\uffd0" +
-    "\032\uffd0\053\uffd0\054\uffd0\055\uffd0\056\uffd0\057\uffd0\060" +
-    "\uffd0\061\uffd0\062\uffd0\063\uffd0\064\uffd0\065\uffd0\066\uffd0" +
-    "\067\uffd0\071\uffd0\073\uffd0\074\uffd0\075\uffd0\100\uffd0\101" +
-    "\uffd0\102\uffd0\107\uffd0\110\uffd0\111\uffd0\001\002\000\170" +
-    "\006\101\012\107\027\070\030\117\033\071\034\120\036" +
-    "\040\037\156\040\145\041\045\042\004\043\041\044\010" +
-    "\045\020\046\012\047\031\050\110\051\066\052\061\061" +
-    "\111\062\077\063\067\064\102\065\125\066\072\067\050" +
-    "\070\155\071\023\073\133\074\154\075\135\076\203\077" +
-    "\142\100\113\101\171\102\175\103\205\104\201\105\204" +
-    "\106\052\107\114\110\173\111\143\112\132\113\126\114" +
-    "\024\115\016\116\047\117\124\120\141\121\056\122\051" +
-    "\123\055\124\153\125\034\126\035\127\104\130\167\131" +
-    "\123\001\002\000\170\006\101\012\107\027\070\030\117" +
-    "\033\071\034\120\036\040\037\156\040\145\041\045\042" +
-    "\004\043\041\044\010\045\020\046\012\047\031\050\110" +
-    "\051\066\052\061\061\111\062\077\063\067\064\102\065" +
-    "\125\066\072\067\050\070\155\071\023\073\133\074\154" +
-    "\075\135\076\203\077\142\100\113\101\171\102\175\103" +
-    "\205\104\201\105\204\106\052\107\114\110\173\111\143" +
-    "\112\132\113\126\114\024\115\016\116\047\117\124\120" +
-    "\141\121\056\122\051\123\055\124\153\125\034\126\035" +
-    "\127\104\130\167\131\123\001\002\000\124\002\uffb8\005" +
-    "\uffb8\007\uffb8\010\uffb8\011\uffb8\012\uffb8\013\uffb8\014\uffb8" +
-    "\015\uffb8\016\uffb8\017\uffb8\020\uffb8\021\uffb8\022\uffb8\023" +
-    "\uffb8\024\uffb8\025\uffb8\032\uffb8\053\uffb8\054\uffb8\055\uffb8" +
-    "\056\uffb8\057\uffb8\060\uffb8\061\uffb8\062\uffb8\063\uffb8\064" +
-    "\uffb8\065\uffb8\066\uffb8\067\uffb8\071\uffb8\073\uffb8\074\uffb8" +
-    "\075\uffb8\100\uffb8\101\uffb8\102\uffb8\107\uffb8\110\uffb8\111" +
-    "\uffb8\001\002\000\124\002\uffb9\005\uffb9\007\uffb9\010\uffb9" +
-    "\011\uffb9\012\uffb9\013\uffb9\014\uffb9\015\uffb9\016\uffb9\017" +
-    "\uffb9\020\uffb9\021\uffb9\022\uffb9\023\uffb9\024\uffb9\025\uffb9" +
-    "\032\uffb9\053\uffb9\054\uffb9\055\uffb9\056\uffb9\057\uffb9\060" +
-    "\uffb9\061\uffb9\062\uffb9\063\uffb9\064\uffb9\065\uffb9\066\uffb9" +
-    "\067\uffb9\071\uffb9\073\uffb9\074\uffb9\075\uffb9\100\uffb9\101" +
-    "\uffb9\102\uffb9\107\uffb9\110\uffb9\111\uffb9\001\002\000\200" +
-    "\006\101\010\076\011\134\012\107\024\022\025\006\027" +
-    "\070\030\117\033\071\034\120\036\040\037\156\040\145" +
-    "\041\045\042\004\043\041\044\010\045\020\046\012\047" +
-    "\031\050\110\051\066\052\061\061\111\062\077\063\067" +
-    "\064\102\065\125\066\072\067\050\070\155\071\023\073" +
-    "\133\074\154\075\135\076\203\077\142\100\113\101\171" +
-    "\102\175\103\205\104\201\105\204\106\052\107\114\110" +
-    "\173\111\143\112\132\113\126\114\024\115\016\116\047" +
-    "\117\124\120\141\121\056\122\051\123\055\124\153\125" +
-    "\034\126\035\127\104\130\167\131\123\001\002\000\200" +
-    "\006\101\010\076\011\134\012\107\024\022\025\006\027" +
-    "\070\030\117\033\071\034\120\036\040\037\156\040\145" +
-    "\041\045\042\004\043\041\044\010\045\020\046\012\047" +
-    "\031\050\110\051\066\052\061\061\111\062\077\063\067" +
-    "\064\102\065\125\066\072\067\050\070\155\071\023\073" +
-    "\133\074\154\075\135\076\203\077\142\100\113\101\171" +
-    "\102\175\103\205\104\201\105\204\106\052\107\114\110" +
-    "\173\111\143\112\132\113\126\114\024\115\016\116\047" +
-    "\117\124\120\141\121\056\122\051\123\055\124\153\125" +
-    "\034\126\035\127\104\130\167\131\123\001\002\000\200" +
-    "\006\101\010\076\011\134\012\107\024\022\025\006\027" +
-    "\070\030\117\033\071\034\120\036\040\037\156\040\145" +
-    "\041\045\042\004\043\041\044\010\045\020\046\012\047" +
-    "\031\050\110\051\066\052\061\061\111\062\077\063\067" +
-    "\064\102\065\125\066\072\067\050\070\155\071\023\073" +
-    "\133\074\154\075\135\076\203\077\142\100\113\101\171" +
-    "\102\175\103\205\104\201\105\204\106\052\107\114\110" +
-    "\173\111\143\112\132\113\126\114\024\115\016\116\047" +
-    "\117\124\120\141\121\056\122\051\123\055\124\153\125" +
-    "\034\126\035\127\104\130\167\131\123\001\002\000\200" +
-    "\006\101\010\076\011\134\012\107\024\022\025\006\027" +
-    "\070\030\117\033\071\034\120\036\040\037\156\040\145" +
-    "\041\045\042\004\043\041\044\010\045\020\046\012\047" +
-    "\031\050\110\051\066\052\061\061\111\062\077\063\067" +
-    "\064\102\065\125\066\072\067\050\070\155\071\023\073" +
-    "\133\074\154\075\135\076\203\077\142\100\113\101\171" +
-    "\102\175\103\205\104\201\105\204\106\052\107\114\110" +
-    "\173\111\143\112\132\113\126\114\024\115\016\116\047" +
-    "\117\124\120\141\121\056\122\051\123\055\124\153\125" +
-    "\034\126\035\127\104\130\167\131\123\001\002\000\104" +
-    "\002\uffe1\005\uffe1\007\uffe1\010\uffe1\011\uffe1\012\uffe1\013" +
-    "\u0107\014\uffe1\015\uffe1\016\uffe1\017\uffe1\020\uffe1\021\uffe1" +
-    "\022\uffe1\023\uffe1\032\uffe1\053\uffe1\054\uffe1\055\uffe1\056" +
-    "\uffe1\057\uffe1\060\uffe1\061\uffe1\062\uffe1\063\uffe1\064\u0106" +
-    "\075\uffe1\100\uffe1\101\uffe1\102\uffe1\107\uffe1\110\uffe1\111" +
-    "\uffe1\001\002\000\200\006\101\010\076\011\134\012\107" +
-    "\024\022\025\006\027\070\030\117\033\071\034\120\036" +
-    "\040\037\156\040\145\041\045\042\004\043\041\044\010" +
-    "\045\020\046\012\047\031\050\110\051\066\052\061\061" +
-    "\111\062\077\063\067\064\102\065\125\066\072\067\050" +
-    "\070\155\071\023\073\133\074\154\075\135\076\203\077" +
-    "\142\100\113\101\171\102\175\103\205\104\201\105\204" +
-    "\106\052\107\114\110\173\111\143\112\132\113\126\114" +
-    "\024\115\016\116\047\117\124\120\141\121\056\122\051" +
-    "\123\055\124\153\125\034\126\035\127\104\130\167\131" +
-    "\123\001\002\000\200\006\101\010\076\011\134\012\107" +
-    "\024\022\025\006\027\070\030\117\033\071\034\120\036" +
-    "\040\037\156\040\145\041\045\042\004\043\041\044\010" +
-    "\045\020\046\012\047\031\050\110\051\066\052\061\061" +
-    "\111\062\077\063\067\064\102\065\125\066\072\067\050" +
-    "\070\155\071\023\073\133\074\154\075\135\076\203\077" +
-    "\142\100\113\101\171\102\175\103\205\104\201\105\204" +
-    "\106\052\107\114\110\173\111\143\112\132\113\126\114" +
-    "\024\115\016\116\047\117\124\120\141\121\056\122\051" +
-    "\123\055\124\153\125\034\126\035\127\104\130\167\131" +
-    "\123\001\002\000\110\002\uffdd\005\uffdd\007\uffdd\010\uffdd" +
-    "\011\uffdd\012\uffdd\013\uffdd\014\uffdd\015\uffdd\016\uffdd\017" +
-    "\uffdd\020\uffdd\021\uffdd\022\uffdd\023\uffdd\032\uffdd\053\uffdd" +
-    "\054\uffdd\055\uffdd\056\uffdd\057\uffdd\060\uffdd\061\uffdd\062" +
-    "\uffdd\063\uffdd\064\uffdd\065\207\066\206\075\uffdd\100\uffdd" +
-    "\101\uffdd\102\uffdd\107\uffdd\110\uffdd\111\uffdd\001\002\000" +
-    "\110\002\uffde\005\uffde\007\uffde\010\uffde\011\uffde\012\uffde" +
-    "\013\uffde\014\uffde\015\uffde\016\uffde\017\uffde\020\uffde\021" +
-    "\uffde\022\uffde\023\uffde\032\uffde\053\uffde\054\uffde\055\uffde" +
-    "\056\uffde\057\uffde\060\uffde\061\uffde\062\uffde\063\uffde\064" +
-    "\uffde\065\207\066\206\075\uffde\100\uffde\101\uffde\102\uffde" +
-    "\107\uffde\110\uffde\111\uffde\001\002\000\104\002\uffe2\005" +
-    "\uffe2\007\uffe2\010\uffe2\011\uffe2\012\uffe2\013\u0107\014\uffe2" +
-    "\015\uffe2\016\uffe2\017\uffe2\020\uffe2\021\uffe2\022\uffe2\023" +
-    "\uffe2\032\uffe2\053\uffe2\054\uffe2\055\uffe2\056\uffe2\057\uffe2" +
-    "\060\uffe2\061\uffe2\062\uffe2\063\uffe2\064\u0106\075\uffe2\100" +
-    "\uffe2\101\uffe2\102\uffe2\107\uffe2\110\uffe2\111\uffe2\001\002" +
-    "\000\104\002\uffe0\005\uffe0\007\uffe0\010\uffe0\011\uffe0\012" +
-    "\uffe0\013\u0107\014\uffe0\015\uffe0\016\uffe0\017\uffe0\020\uffe0" +
-    "\021\uffe0\022\uffe0\023\uffe0\032\uffe0\053\uffe0\054\uffe0\055" +
-    "\uffe0\056\uffe0\057\uffe0\060\uffe0\061\uffe0\062\uffe0\063\uffe0" +
-    "\064\u0106\075\uffe0\100\uffe0\101\uffe0\102\uffe0\107\uffe0\110" +
-    "\uffe0\111\uffe0\001\002\000\104\002\uffe3\005\uffe3\007\uffe3" +
-    "\010\uffe3\011\uffe3\012\uffe3\013\u0107\014\uffe3\015\uffe3\016" +
-    "\uffe3\017\uffe3\020\uffe3\021\uffe3\022\uffe3\023\uffe3\032\uffe3" +
-    "\053\uffe3\054\uffe3\055\uffe3\056\uffe3\057\uffe3\060\uffe3\061" +
-    "\uffe3\062\uffe3\063\uffe3\064\u0106\075\uffe3\100\uffe3\101\uffe3" +
-    "\102\uffe3\107\uffe3\110\uffe3\111\uffe3\001\002\000\004\007" +
-    "\u010e\001\002\000\130\002\uff69\004\uff69\005\uff69\007\uff69" +
-    "\010\uff69\011\uff69\012\uff69\013\uff69\014\uff69\015\uff69\016" +
-    "\uff69\017\uff69\020\uff69\021\uff69\022\uff69\023\uff69\024\uff69" +
-    "\025\uff69\032\uff69\035\uff69\053\uff69\054\uff69\055\uff69\056" +
-    "\uff69\057\uff69\060\uff69\061\uff69\062\uff69\063\uff69\064\uff69" +
-    "\065\uff69\066\uff69\067\uff69\071\uff69\073\uff69\074\uff69\075" +
-    "\uff69\100\uff69\101\uff69\102\uff69\107\uff69\110\uff69\111\uff69" +
-    "\001\002\000\146\012\uffa3\036\uffa3\037\uffa3\040\uffa3\041" +
-    "\uffa3\042\uffa3\043\uffa3\044\uffa3\045\uffa3\046\uffa3\047\uffa3" +
-    "\050\uffa3\051\uffa3\052\uffa3\061\uffa3\062\uffa3\063\uffa3\064" +
-    "\uffa3\065\uffa3\066\uffa3\067\uffa3\070\uffa3\071\uffa3\073\uffa3" +
-    "\074\uffa3\075\uffa3\076\uffa3\077\uffa3\100\uffa3\101\uffa3\102" +
-    "\uffa3\103\uffa3\104\uffa3\105\uffa3\106\uffa3\107\uffa3\110\uffa3" +
-    "\111\uffa3\112\uffa3\113\uffa3\114\uffa3\115\uffa3\116\uffa3\117" +
-    "\uffa3\120\uffa3\121\uffa3\122\uffa3\123\uffa3\124\uffa3\131\uffa3" +
-    "\001\002\000\146\012\233\036\327\037\343\040\252\041" +
-    "\346\042\341\043\337\044\365\045\325\046\364\047\354" +
-    "\050\322\051\352\052\353\061\340\062\336\063\351\064" +
-    "\355\065\366\066\321\067\362\070\342\071\350\073\361" +
-    "\074\320\075\332\076\326\077\334\100\345\101\344\102" +
-    "\360\103\323\104\357\105\204\106\363\107\356\110\331" +
-    "\111\335\112\132\113\126\114\253\115\247\116\251\117" +
-    "\227\120\234\121\230\122\245\123\235\124\153\131\347" +
-    "\001\002\000\126\002\uff9a\004\uff9a\005\uff9a\007\uff9a\010" +
-    "\uff9a\011\uff9a\012\uff9a\013\uff9a\014\uff9a\015\uff9a\016\uff9a" +
-    "\017\uff9a\020\uff9a\021\uff9a\022\uff9a\023\uff9a\024\uff9a\025" +
-    "\uff9a\032\uff9a\053\uff9a\054\uff9a\055\uff9a\056\uff9a\057\uff9a" +
-    "\060\uff9a\061\uff9a\062\uff9a\063\uff9a\064\uff9a\065\uff9a\066" +
-    "\uff9a\067\uff9a\071\uff9a\073\uff9a\074\uff9a\075\uff9a\100\uff9a" +
-    "\101\uff9a\102\uff9a\107\uff9a\110\uff9a\111\uff9a\001\002\000" +
-    "\146\012\233\036\232\037\240\040\252\041\241\042\237" +
-    "\043\236\044\250\045\226\046\246\047\244\050\225\051" +
-    "\242\052\243\061\111\062\077\063\067\064\102\065\125" +
-    "\066\072\067\050\070\155\071\023\073\133\074\154\075" +
-    "\135\076\203\077\142\100\113\101\171\102\175\103\205" +
-    "\104\201\105\204\106\052\107\114\110\173\111\143\112" +
-    "\132\113\126\114\253\115\247\116\251\117\227\120\234" +
-    "\121\230\122\245\123\235\124\153\131\123\001\002\000" +
-    "\004\077\u0114\001\002\000\200\006\101\010\076\011\134" +
-    "\012\107\024\022\025\006\027\070\030\117\033\071\034" +
-    "\120\036\040\037\156\040\145\041\045\042\004\043\041" +
-    "\044\010\045\020\046\012\047\031\050\110\051\066\052" +
-    "\061\061\111\062\077\063\067\064\102\065\125\066\072" +
-    "\067\050\070\155\071\023\073\133\074\154\075\135\076" +
-    "\106\077\142\100\113\101\171\102\175\103\157\104\046" +
-    "\105\147\106\052\107\114\110\173\111\143\112\132\113" +
-    "\126\114\024\115\016\116\047\117\124\120\141\121\056" +
-    "\122\051\123\055\124\153\125\034\126\035\127\104\130" +
-    "\167\131\123\001\002\000\006\032\ufff8\100\ufff8\001\002" +
-    "\000\202\006\101\007\u0119\010\076\011\134\012\107\024" +
-    "\022\025\006\027\070\030\117\033\071\034\120\036\040" +
-    "\037\156\040\145\041\045\042\004\043\041\044\010\045" +
-    "\020\046\012\047\031\050\110\051\066\052\061\061\111" +
-    "\062\077\063\067\064\102\065\125\066\072\067\050\070" +
-    "\155\071\023\073\133\074\154\075\135\076\106\077\142" +
-    "\100\113\101\171\102\175\103\157\104\046\105\147\106" +
-    "\052\107\114\110\173\111\143\112\132\113\126\114\024" +
-    "\115\016\116\047\117\124\120\141\121\056\122\051\123" +
-    "\055\124\153\125\034\126\035\127\104\130\167\131\123" +
-    "\001\002\000\006\007\u011b\032\u011a\001\002\000\006\007" +
-    "\uff85\032\uff85\001\002\000\126\002\uff87\004\uff87\005\uff87" +
-    "\007\uff87\010\uff87\011\uff87\012\uff87\013\uff87\014\uff87\015" +
-    "\uff87\016\uff87\017\uff87\020\uff87\021\uff87\022\uff87\023\uff87" +
-    "\024\uff87\025\uff87\032\uff87\053\uff87\054\uff87\055\uff87\056" +
-    "\uff87\057\uff87\060\uff87\061\uff87\062\uff87\063\uff87\064\uff87" +
-    "\065\uff87\066\uff87\067\uff87\071\uff87\073\uff87\074\uff87\075" +
-    "\uff87\100\uff87\101\uff87\102\uff87\107\uff87\110\uff87\111\uff87" +
-    "\001\002\000\200\006\101\010\076\011\134\012\107\024" +
-    "\022\025\006\027\070\030\117\033\071\034\120\036\040" +
-    "\037\156\040\145\041\045\042\004\043\041\044\010\045" +
-    "\020\046\012\047\031\050\110\051\066\052\061\061\111" +
-    "\062\077\063\067\064\102\065\125\066\072\067\050\070" +
-    "\155\071\023\073\133\074\154\075\135\076\106\077\142" +
-    "\100\113\101\171\102\175\103\157\104\046\105\147\106" +
-    "\052\107\114\110\173\111\143\112\132\113\126\114\024" +
-    "\115\016\116\047\117\124\120\141\121\056\122\051\123" +
-    "\055\124\153\125\034\126\035\127\104\130\167\131\123" +
-    "\001\002\000\126\002\uff86\004\uff86\005\uff86\007\uff86\010" +
-    "\uff86\011\uff86\012\uff86\013\uff86\014\uff86\015\uff86\016\uff86" +
-    "\017\uff86\020\uff86\021\uff86\022\uff86\023\uff86\024\uff86\025" +
-    "\uff86\032\uff86\053\uff86\054\uff86\055\uff86\056\uff86\057\uff86" +
-    "\060\uff86\061\uff86\062\uff86\063\uff86\064\uff86\065\uff86\066" +
-    "\uff86\067\uff86\071\uff86\073\uff86\074\uff86\075\uff86\100\uff86" +
-    "\101\uff86\102\uff86\107\uff86\110\uff86\111\uff86\001\002\000" +
-    "\006\007\uff84\032\uff84\001\002\000\006\007\u011f\032\216" +
-    "\001\002\000\126\002\uff8a\004\uff8a\005\uff8a\007\uff8a\010" +
-    "\uff8a\011\uff8a\012\uff8a\013\uff8a\014\uff8a\015\uff8a\016\uff8a" +
-    "\017\uff8a\020\uff8a\021\uff8a\022\uff8a\023\uff8a\024\uff8a\025" +
-    "\uff8a\032\uff8a\053\uff8a\054\uff8a\055\uff8a\056\uff8a\057\uff8a" +
-    "\060\uff8a\061\uff8a\062\uff8a\063\uff8a\064\uff8a\065\uff8a\066" +
-    "\uff8a\067\uff8a\071\uff8a\073\uff8a\074\uff8a\075\uff8a\100\uff8a" +
-    "\101\uff8a\102\uff8a\107\uff8a\110\uff8a\111\uff8a\001\002\000" +
-    "\126\002\uff89\004\uff89\005\uff89\007\uff89\010\uff89\011\uff89" +
-    "\012\uff89\013\uff89\014\uff89\015\uff89\016\uff89\017\uff89\020" +
-    "\uff89\021\uff89\022\uff89\023\uff89\024\uff89\025\uff89\032\uff89" +
-    "\053\uff89\054\uff89\055\uff89\056\uff89\057\uff89\060\uff89\061" +
-    "\uff89\062\uff89\063\uff89\064\uff89\065\uff89\066\uff89\067\uff89" +
-    "\071\uff89\073\uff89\074\uff89\075\uff89\100\uff89\101\uff89\102" +
-    "\uff89\107\uff89\110\uff89\111\uff89\001\002\000\126\002\uffb5" +
-    "\004\214\005\uffb5\007\uffb5\010\uffb5\011\uffb5\012\uffb5\013" +
-    "\uffb5\014\uffb5\015\uffb5\016\uffb5\017\uffb5\020\uffb5\021\uffb5" +
-    "\022\uffb5\023\uffb5\024\uffb5\025\uffb5\032\uffb5\053\uffb5\054" +
-    "\uffb5\055\uffb5\056\uffb5\057\uffb5\060\uffb5\061\uffb5\062\uffb5" +
-    "\063\uffb5\064\uffb5\065\uffb5\066\uffb5\067\uffb5\071\uffb5\073" +
-    "\uffb5\074\uffb5\075\uffb5\100\uffb5\101\uffb5\102\uffb5\107\uffb5" +
-    "\110\uffb5\111\uffb5\001\002\000\120\002\uffcf\005\uffcf\007" +
-    "\uffcf\010\uffcf\011\uffcf\012\uffcf\013\uffcf\014\uffcf\015\uffcf" +
-    "\016\uffcf\017\uffcf\020\uffcf\021\uffcf\022\uffcf\023\uffcf\032" +
-    "\uffcf\053\uffcf\054\uffcf\055\uffcf\056\uffcf\057\uffcf\060\uffcf" +
-    "\061\uffcf\062\uffcf\063\uffcf\064\uffcf\065\uffcf\066\uffcf\067" +
-    "\uffcf\071\uffcf\073\uffcf\074\uffcf\075\uffcf\100\uffcf\101\uffcf" +
-    "\102\uffcf\107\uffcf\110\uffcf\111\uffcf\001\002\000\126\002" +
-    "\uff8b\004\uff8b\005\uff8b\007\uff8b\010\uff8b\011\uff8b\012\uff8b" +
-    "\013\uff8b\014\uff8b\015\uff8b\016\uff8b\017\uff8b\020\uff8b\021" +
-    "\uff8b\022\uff8b\023\uff8b\024\uff8b\025\uff8b\032\uff8b\053\uff8b" +
-    "\054\uff8b\055\uff8b\056\uff8b\057\uff8b\060\uff8b\061\uff8b\062" +
-    "\uff8b\063\uff8b\064\uff8b\065\uff8b\066\uff8b\067\uff8b\071\uff8b" +
-    "\073\uff8b\074\uff8b\075\uff8b\100\uff8b\101\uff8b\102\uff8b\107" +
-    "\uff8b\110\uff8b\111\uff8b\001\002\000\126\002\uffa9\004\uffa9" +
-    "\005\uffa9\007\uffa9\010\uffa9\011\uffa9\012\uffa9\013\uffa9\014" +
-    "\uffa9\015\uffa9\016\uffa9\017\uffa9\020\uffa9\021\uffa9\022\uffa9" +
-    "\023\uffa9\024\uffa9\025\uffa9\032\uffa9\053\uffa9\054\uffa9\055" +
-    "\uffa9\056\uffa9\057\uffa9\060\uffa9\061\uffa9\062\uffa9\063\uffa9" +
-    "\064\uffa9\065\uffa9\066\uffa9\067\uffa9\071\uffa9\073\uffa9\074" +
-    "\uffa9\075\uffa9\100\uffa9\101\uffa9\102\uffa9\107\uffa9\110\uffa9" +
-    "\111\uffa9\001\002\000\006\006\304\031\uff45\001\002\000" +
-    "\126\002\uff9d\004\uff9d\005\uff9d\007\uff9d\010\uff9d\011\uff9d" +
-    "\012\uff9d\013\uff9d\014\uff9d\015\uff9d\016\uff9d\017\uff9d\020" +
-    "\uff9d\021\uff9d\022\uff9d\023\uff9d\024\uff9d\025\uff9d\032\uff9d" +
-    "\053\uff9d\054\uff9d\055\uff9d\056\uff9d\057\uff9d\060\uff9d\061" +
-    "\uff9d\062\uff9d\063\uff9d\064\uff9d\065\uff9d\066\uff9d\067\uff9d" +
-    "\071\uff9d\073\uff9d\074\uff9d\075\uff9d\100\uff9d\101\uff9d\102" +
-    "\uff9d\107\uff9d\110\uff9d\111\uff9d\001\002\000\004\012\u0127" +
-    "\001\002\000\134\002\ufef3\004\ufef3\005\ufef3\006\ufef3\007" +
-    "\ufef3\010\ufef3\011\ufef3\012\ufef3\013\ufef3\014\ufef3\015\ufef3" +
-    "\016\ufef3\017\ufef3\020\ufef3\021\ufef3\022\ufef3\023\ufef3\024" +
-    "\ufef3\025\ufef3\032\ufef3\035\ufef3\053\ufef3\054\ufef3\055\ufef3" +
-    "\056\ufef3\057\ufef3\060\ufef3\061\ufef3\062\ufef3\063\ufef3\064" +
-    "\ufef3\065\ufef3\066\ufef3\067\ufef3\071\ufef3\073\ufef3\074\ufef3" +
-    "\075\ufef3\077\ufef3\100\ufef3\101\ufef3\102\ufef3\107\ufef3\110" +
-    "\ufef3\111\ufef3\001\002\000\146\012\uffa2\036\uffa2\037\uffa2" +
-    "\040\uffa2\041\uffa2\042\uffa2\043\uffa2\044\uffa2\045\uffa2\046" +
-    "\uffa2\047\uffa2\050\uffa2\051\uffa2\052\uffa2\061\uffa2\062\uffa2" +
-    "\063\uffa2\064\uffa2\065\uffa2\066\uffa2\067\uffa2\070\uffa2\071" +
-    "\uffa2\073\uffa2\074\uffa2\075\uffa2\076\uffa2\077\uffa2\100\uffa2" +
-    "\101\uffa2\102\uffa2\103\uffa2\104\uffa2\105\uffa2\106\uffa2\107" +
-    "\uffa2\110\uffa2\111\uffa2\112\uffa2\113\uffa2\114\uffa2\115\uffa2" +
-    "\116\uffa2\117\uffa2\120\uffa2\121\uffa2\122\uffa2\123\uffa2\124" +
-    "\uffa2\131\uffa2\001\002\000\200\006\uffc1\010\uffc1\011\uffc1" +
-    "\012\uffc1\024\uffc1\025\uffc1\027\uffc1\030\uffc1\033\uffc1\034" +
-    "\uffc1\036\uffc1\037\uffc1\040\uffc1\041\uffc1\042\uffc1\043\uffc1" +
-    "\044\uffc1\045\uffc1\046\uffc1\047\uffc1\050\uffc1\051\uffc1\052" +
-    "\uffc1\061\uffc1\062\uffc1\063\uffc1\064\uffc1\065\uffc1\066\uffc1" +
-    "\067\uffc1\070\uffc1\071\uffc1\073\uffc1\074\uffc1\075\uffc1\076" +
-    "\uffc1\077\uffc1\100\uffc1\101\uffc1\102\uffc1\103\uffc1\104\uffc1" +
-    "\105\uffc1\106\uffc1\107\uffc1\110\uffc1\111\uffc1\112\uffc1\113" +
-    "\uffc1\114\uffc1\115\uffc1\116\uffc1\117\uffc1\120\uffc1\121\uffc1" +
-    "\122\uffc1\123\uffc1\124\uffc1\125\uffc1\126\uffc1\127\uffc1\130" +
-    "\uffc1\131\uffc1\001\002\000\200\006\uffc5\010\uffc5\011\uffc5" +
-    "\012\uffc5\024\uffc5\025\uffc5\027\uffc5\030\uffc5\033\uffc5\034" +
-    "\uffc5\036\uffc5\037\uffc5\040\uffc5\041\uffc5\042\uffc5\043\uffc5" +
-    "\044\uffc5\045\uffc5\046\uffc5\047\uffc5\050\uffc5\051\uffc5\052" +
-    "\uffc5\061\uffc5\062\uffc5\063\uffc5\064\uffc5\065\uffc5\066\uffc5" +
-    "\067\uffc5\070\uffc5\071\uffc5\073\uffc5\074\uffc5\075\uffc5\076" +
-    "\uffc5\077\uffc5\100\uffc5\101\uffc5\102\uffc5\103\uffc5\104\uffc5" +
-    "\105\uffc5\106\uffc5\107\uffc5\110\uffc5\111\uffc5\112\uffc5\113" +
-    "\uffc5\114\uffc5\115\uffc5\116\uffc5\117\uffc5\120\uffc5\121\uffc5" +
-    "\122\uffc5\123\uffc5\124\uffc5\125\uffc5\126\uffc5\127\uffc5\130" +
-    "\uffc5\131\uffc5\001\002\000\200\006\uffc6\010\uffc6\011\uffc6" +
-    "\012\uffc6\024\uffc6\025\uffc6\027\uffc6\030\uffc6\033\uffc6\034" +
-    "\uffc6\036\uffc6\037\uffc6\040\uffc6\041\uffc6\042\uffc6\043\uffc6" +
-    "\044\uffc6\045\uffc6\046\uffc6\047\uffc6\050\uffc6\051\uffc6\052" +
-    "\uffc6\061\uffc6\062\uffc6\063\uffc6\064\uffc6\065\uffc6\066\uffc6" +
-    "\067\uffc6\070\uffc6\071\uffc6\073\uffc6\074\uffc6\075\uffc6\076" +
-    "\uffc6\077\uffc6\100\uffc6\101\uffc6\102\uffc6\103\uffc6\104\uffc6" +
-    "\105\uffc6\106\uffc6\107\uffc6\110\uffc6\111\uffc6\112\uffc6\113" +
-    "\uffc6\114\uffc6\115\uffc6\116\uffc6\117\uffc6\120\uffc6\121\uffc6" +
-    "\122\uffc6\123\uffc6\124\uffc6\125\uffc6\126\uffc6\127\uffc6\130" +
-    "\uffc6\131\uffc6\001\002\000\200\006\uffbf\010\uffbf\011\uffbf" +
-    "\012\uffbf\024\uffbf\025\uffbf\027\uffbf\030\uffbf\033\uffbf\034" +
-    "\uffbf\036\uffbf\037\uffbf\040\uffbf\041\uffbf\042\uffbf\043\uffbf" +
-    "\044\uffbf\045\uffbf\046\uffbf\047\uffbf\050\uffbf\051\uffbf\052" +
-    "\uffbf\061\uffbf\062\uffbf\063\uffbf\064\uffbf\065\uffbf\066\uffbf" +
-    "\067\uffbf\070\uffbf\071\uffbf\073\uffbf\074\uffbf\075\uffbf\076" +
-    "\uffbf\077\uffbf\100\uffbf\101\uffbf\102\uffbf\103\uffbf\104\uffbf" +
-    "\105\uffbf\106\uffbf\107\uffbf\110\uffbf\111\uffbf\112\uffbf\113" +
-    "\uffbf\114\uffbf\115\uffbf\116\uffbf\117\uffbf\120\uffbf\121\uffbf" +
-    "\122\uffbf\123\uffbf\124\uffbf\125\uffbf\126\uffbf\127\uffbf\130" +
-    "\uffbf\131\uffbf\001\002\000\200\006\uffc9\010\uffc9\011\uffc9" +
-    "\012\uffc9\024\uffc9\025\uffc9\027\uffc9\030\uffc9\033\uffc9\034" +
-    "\uffc9\036\uffc9\037\uffc9\040\uffc9\041\uffc9\042\uffc9\043\uffc9" +
-    "\044\uffc9\045\uffc9\046\uffc9\047\uffc9\050\uffc9\051\uffc9\052" +
-    "\uffc9\061\uffc9\062\uffc9\063\uffc9\064\uffc9\065\uffc9\066\uffc9" +
-    "\067\uffc9\070\uffc9\071\uffc9\073\uffc9\074\uffc9\075\uffc9\076" +
-    "\uffc9\077\uffc9\100\uffc9\101\uffc9\102\uffc9\103\uffc9\104\uffc9" +
-    "\105\uffc9\106\uffc9\107\uffc9\110\uffc9\111\uffc9\112\uffc9\113" +
-    "\uffc9\114\uffc9\115\uffc9\116\uffc9\117\uffc9\120\uffc9\121\uffc9" +
-    "\122\uffc9\123\uffc9\124\uffc9\125\uffc9\126\uffc9\127\uffc9\130" +
-    "\uffc9\131\uffc9\001\002\000\200\006\uffc3\010\uffc3\011\uffc3" +
-    "\012\uffc3\024\uffc3\025\uffc3\027\uffc3\030\uffc3\033\uffc3\034" +
-    "\uffc3\036\uffc3\037\uffc3\040\uffc3\041\uffc3\042\uffc3\043\uffc3" +
-    "\044\uffc3\045\uffc3\046\uffc3\047\uffc3\050\uffc3\051\uffc3\052" +
-    "\uffc3\061\uffc3\062\uffc3\063\uffc3\064\uffc3\065\uffc3\066\uffc3" +
-    "\067\uffc3\070\uffc3\071\uffc3\073\uffc3\074\uffc3\075\uffc3\076" +
-    "\uffc3\077\uffc3\100\uffc3\101\uffc3\102\uffc3\103\uffc3\104\uffc3" +
-    "\105\uffc3\106\uffc3\107\uffc3\110\uffc3\111\uffc3\112\uffc3\113" +
-    "\uffc3\114\uffc3\115\uffc3\116\uffc3\117\uffc3\120\uffc3\121\uffc3" +
-    "\122\uffc3\123\uffc3\124\uffc3\125\uffc3\126\uffc3\127\uffc3\130" +
-    "\uffc3\131\uffc3\001\002\000\200\006\uffca\010\uffca\011\uffca" +
-    "\012\uffca\024\uffca\025\uffca\027\uffca\030\uffca\033\uffca\034" +
-    "\uffca\036\uffca\037\uffca\040\uffca\041\uffca\042\uffca\043\uffca" +
-    "\044\uffca\045\uffca\046\uffca\047\uffca\050\uffca\051\uffca\052" +
-    "\uffca\061\uffca\062\uffca\063\uffca\064\uffca\065\uffca\066\uffca" +
-    "\067\uffca\070\uffca\071\uffca\073\uffca\074\uffca\075\uffca\076" +
-    "\uffca\077\uffca\100\uffca\101\uffca\102\uffca\103\uffca\104\uffca" +
-    "\105\uffca\106\uffca\107\uffca\110\uffca\111\uffca\112\uffca\113" +
-    "\uffca\114\uffca\115\uffca\116\uffca\117\uffca\120\uffca\121\uffca" +
-    "\122\uffca\123\uffca\124\uffca\125\uffca\126\uffca\127\uffca\130" +
-    "\uffca\131\uffca\001\002\000\200\006\uffc4\010\uffc4\011\uffc4" +
-    "\012\uffc4\024\uffc4\025\uffc4\027\uffc4\030\uffc4\033\uffc4\034" +
-    "\uffc4\036\uffc4\037\uffc4\040\uffc4\041\uffc4\042\uffc4\043\uffc4" +
-    "\044\uffc4\045\uffc4\046\uffc4\047\uffc4\050\uffc4\051\uffc4\052" +
-    "\uffc4\061\uffc4\062\uffc4\063\uffc4\064\uffc4\065\uffc4\066\uffc4" +
-    "\067\uffc4\070\uffc4\071\uffc4\073\uffc4\074\uffc4\075\uffc4\076" +
-    "\uffc4\077\uffc4\100\uffc4\101\uffc4\102\uffc4\103\uffc4\104\uffc4" +
-    "\105\uffc4\106\uffc4\107\uffc4\110\uffc4\111\uffc4\112\uffc4\113" +
-    "\uffc4\114\uffc4\115\uffc4\116\uffc4\117\uffc4\120\uffc4\121\uffc4" +
-    "\122\uffc4\123\uffc4\124\uffc4\125\uffc4\126\uffc4\127\uffc4\130" +
-    "\uffc4\131\uffc4\001\002\000\200\006\uffcd\010\uffcd\011\uffcd" +
-    "\012\uffcd\024\uffcd\025\uffcd\027\uffcd\030\uffcd\033\uffcd\034" +
-    "\uffcd\036\uffcd\037\uffcd\040\uffcd\041\uffcd\042\uffcd\043\uffcd" +
-    "\044\uffcd\045\uffcd\046\uffcd\047\uffcd\050\uffcd\051\uffcd\052" +
-    "\uffcd\061\uffcd\062\uffcd\063\uffcd\064\uffcd\065\uffcd\066\uffcd" +
-    "\067\uffcd\070\uffcd\071\uffcd\073\uffcd\074\uffcd\075\uffcd\076" +
-    "\uffcd\077\uffcd\100\uffcd\101\uffcd\102\uffcd\103\uffcd\104\uffcd" +
-    "\105\uffcd\106\uffcd\107\uffcd\110\uffcd\111\uffcd\112\uffcd\113" +
-    "\uffcd\114\uffcd\115\uffcd\116\uffcd\117\uffcd\120\uffcd\121\uffcd" +
-    "\122\uffcd\123\uffcd\124\uffcd\125\uffcd\126\uffcd\127\uffcd\130" +
-    "\uffcd\131\uffcd\001\002\000\200\006\uffcc\010\uffcc\011\uffcc" +
-    "\012\uffcc\024\uffcc\025\uffcc\027\uffcc\030\uffcc\033\uffcc\034" +
-    "\uffcc\036\uffcc\037\uffcc\040\uffcc\041\uffcc\042\uffcc\043\uffcc" +
-    "\044\uffcc\045\uffcc\046\uffcc\047\uffcc\050\uffcc\051\uffcc\052" +
-    "\uffcc\061\uffcc\062\uffcc\063\uffcc\064\uffcc\065\uffcc\066\uffcc" +
-    "\067\uffcc\070\uffcc\071\uffcc\073\uffcc\074\uffcc\075\uffcc\076" +
-    "\uffcc\077\uffcc\100\uffcc\101\uffcc\102\uffcc\103\uffcc\104\uffcc" +
-    "\105\uffcc\106\uffcc\107\uffcc\110\uffcc\111\uffcc\112\uffcc\113" +
-    "\uffcc\114\uffcc\115\uffcc\116\uffcc\117\uffcc\120\uffcc\121\uffcc" +
-    "\122\uffcc\123\uffcc\124\uffcc\125\uffcc\126\uffcc\127\uffcc\130" +
-    "\uffcc\131\uffcc\001\002\000\200\006\uffcb\010\uffcb\011\uffcb" +
-    "\012\uffcb\024\uffcb\025\uffcb\027\uffcb\030\uffcb\033\uffcb\034" +
-    "\uffcb\036\uffcb\037\uffcb\040\uffcb\041\uffcb\042\uffcb\043\uffcb" +
-    "\044\uffcb\045\uffcb\046\uffcb\047\uffcb\050\uffcb\051\uffcb\052" +
-    "\uffcb\061\uffcb\062\uffcb\063\uffcb\064\uffcb\065\uffcb\066\uffcb" +
-    "\067\uffcb\070\uffcb\071\uffcb\073\uffcb\074\uffcb\075\uffcb\076" +
-    "\uffcb\077\uffcb\100\uffcb\101\uffcb\102\uffcb\103\uffcb\104\uffcb" +
-    "\105\uffcb\106\uffcb\107\uffcb\110\uffcb\111\uffcb\112\uffcb\113" +
-    "\uffcb\114\uffcb\115\uffcb\116\uffcb\117\uffcb\120\uffcb\121\uffcb" +
-    "\122\uffcb\123\uffcb\124\uffcb\125\uffcb\126\uffcb\127\uffcb\130" +
-    "\uffcb\131\uffcb\001\002\000\200\006\101\010\076\011\134" +
-    "\012\107\024\022\025\006\027\070\030\117\033\071\034" +
-    "\120\036\040\037\156\040\145\041\045\042\004\043\041" +
-    "\044\010\045\020\046\012\047\031\050\110\051\066\052" +
-    "\061\061\111\062\077\063\067\064\102\065\125\066\072" +
-    "\067\050\070\155\071\023\073\133\074\154\075\135\076" +
-    "\203\077\142\100\113\101\171\102\175\103\205\104\201" +
-    "\105\204\106\052\107\114\110\173\111\143\112\132\113" +
-    "\126\114\024\115\016\116\047\117\124\120\141\121\056" +
-    "\122\051\123\055\124\153\125\034\126\035\127\104\130" +
-    "\167\131\123\001\002\000\200\006\uffc2\010\uffc2\011\uffc2" +
-    "\012\uffc2\024\uffc2\025\uffc2\027\uffc2\030\uffc2\033\uffc2\034" +
-    "\uffc2\036\uffc2\037\uffc2\040\uffc2\041\uffc2\042\uffc2\043\uffc2" +
-    "\044\uffc2\045\uffc2\046\uffc2\047\uffc2\050\uffc2\051\uffc2\052" +
-    "\uffc2\061\uffc2\062\uffc2\063\uffc2\064\uffc2\065\uffc2\066\uffc2" +
-    "\067\uffc2\070\uffc2\071\uffc2\073\uffc2\074\uffc2\075\uffc2\076" +
-    "\uffc2\077\uffc2\100\uffc2\101\uffc2\102\uffc2\103\uffc2\104\uffc2" +
-    "\105\uffc2\106\uffc2\107\uffc2\110\uffc2\111\uffc2\112\uffc2\113" +
-    "\uffc2\114\uffc2\115\uffc2\116\uffc2\117\uffc2\120\uffc2\121\uffc2" +
-    "\122\uffc2\123\uffc2\124\uffc2\125\uffc2\126\uffc2\127\uffc2\130" +
-    "\uffc2\131\uffc2\001\002\000\200\006\uffc7\010\uffc7\011\uffc7" +
-    "\012\uffc7\024\uffc7\025\uffc7\027\uffc7\030\uffc7\033\uffc7\034" +
-    "\uffc7\036\uffc7\037\uffc7\040\uffc7\041\uffc7\042\uffc7\043\uffc7" +
-    "\044\uffc7\045\uffc7\046\uffc7\047\uffc7\050\uffc7\051\uffc7\052" +
-    "\uffc7\061\uffc7\062\uffc7\063\uffc7\064\uffc7\065\uffc7\066\uffc7" +
-    "\067\uffc7\070\uffc7\071\uffc7\073\uffc7\074\uffc7\075\uffc7\076" +
-    "\uffc7\077\uffc7\100\uffc7\101\uffc7\102\uffc7\103\uffc7\104\uffc7" +
-    "\105\uffc7\106\uffc7\107\uffc7\110\uffc7\111\uffc7\112\uffc7\113" +
-    "\uffc7\114\uffc7\115\uffc7\116\uffc7\117\uffc7\120\uffc7\121\uffc7" +
-    "\122\uffc7\123\uffc7\124\uffc7\125\uffc7\126\uffc7\127\uffc7\130" +
-    "\uffc7\131\uffc7\001\002\000\200\006\uffc0\010\uffc0\011\uffc0" +
-    "\012\uffc0\024\uffc0\025\uffc0\027\uffc0\030\uffc0\033\uffc0\034" +
-    "\uffc0\036\uffc0\037\uffc0\040\uffc0\041\uffc0\042\uffc0\043\uffc0" +
-    "\044\uffc0\045\uffc0\046\uffc0\047\uffc0\050\uffc0\051\uffc0\052" +
-    "\uffc0\061\uffc0\062\uffc0\063\uffc0\064\uffc0\065\uffc0\066\uffc0" +
-    "\067\uffc0\070\uffc0\071\uffc0\073\uffc0\074\uffc0\075\uffc0\076" +
-    "\uffc0\077\uffc0\100\uffc0\101\uffc0\102\uffc0\103\uffc0\104\uffc0" +
-    "\105\uffc0\106\uffc0\107\uffc0\110\uffc0\111\uffc0\112\uffc0\113" +
-    "\uffc0\114\uffc0\115\uffc0\116\uffc0\117\uffc0\120\uffc0\121\uffc0" +
-    "\122\uffc0\123\uffc0\124\uffc0\125\uffc0\126\uffc0\127\uffc0\130" +
-    "\uffc0\131\uffc0\001\002\000\200\006\101\010\076\011\134" +
-    "\012\107\024\022\025\006\027\070\030\117\033\071\034" +
-    "\120\036\040\037\156\040\145\041\045\042\004\043\041" +
-    "\044\010\045\020\046\012\047\031\050\110\051\066\052" +
-    "\061\061\111\062\077\063\067\064\102\065\125\066\072" +
-    "\067\050\070\155\071\023\073\133\074\154\075\135\076" +
-    "\203\077\142\100\113\101\171\102\175\103\205\104\201" +
-    "\105\204\106\052\107\114\110\173\111\143\112\132\113" +
-    "\126\114\024\115\016\116\047\117\124\120\141\121\056" +
-    "\122\051\123\055\124\153\125\034\126\035\127\104\130" +
-    "\167\131\123\001\002\000\200\006\101\010\076\011\134" +
-    "\012\107\024\022\025\006\027\070\030\117\033\071\034" +
-    "\120\036\040\037\156\040\145\041\045\042\004\043\041" +
-    "\044\010\045\020\046\012\047\031\050\110\051\066\052" +
-    "\061\061\111\062\077\063\067\064\102\065\125\066\072" +
-    "\067\050\070\155\071\023\073\133\074\154\075\135\076" +
-    "\203\077\142\100\113\101\171\102\175\103\205\104\201" +
-    "\105\204\106\052\107\114\110\173\111\143\112\132\113" +
-    "\126\114\024\115\016\116\047\117\124\120\141\121\056" +
-    "\122\051\123\055\124\153\125\034\126\035\127\104\130" +
-    "\167\131\123\001\002\000\200\006\uffc8\010\uffc8\011\uffc8" +
-    "\012\uffc8\024\uffc8\025\uffc8\027\uffc8\030\uffc8\033\uffc8\034" +
-    "\uffc8\036\uffc8\037\uffc8\040\uffc8\041\uffc8\042\uffc8\043\uffc8" +
-    "\044\uffc8\045\uffc8\046\uffc8\047\uffc8\050\uffc8\051\uffc8\052" +
-    "\uffc8\061\uffc8\062\uffc8\063\uffc8\064\uffc8\065\uffc8\066\uffc8" +
-    "\067\uffc8\070\uffc8\071\uffc8\073\uffc8\074\uffc8\075\uffc8\076" +
-    "\uffc8\077\uffc8\100\uffc8\101\uffc8\102\uffc8\103\uffc8\104\uffc8" +
-    "\105\uffc8\106\uffc8\107\uffc8\110\uffc8\111\uffc8\112\uffc8\113" +
-    "\uffc8\114\uffc8\115\uffc8\116\uffc8\117\uffc8\120\uffc8\121\uffc8" +
-    "\122\uffc8\123\uffc8\124\uffc8\125\uffc8\126\uffc8\127\uffc8\130" +
-    "\uffc8\131\uffc8\001\002\000\024\002\uffea\005\uffea\007\uffea" +
-    "\032\uffea\100\uffea\101\uffea\107\uffea\110\uffea\111\uffea\001" +
-    "\002\000\024\002\uffeb\005\uffeb\007\uffeb\032\uffeb\100\uffeb" +
-    "\101\uffeb\107\uffeb\110\uffeb\111\uffeb\001\002\000\024\002" +
-    "\uffec\005\uffec\007\uffec\032\uffec\100\uffec\101\uffec\107\uffec" +
-    "\110\uffec\111\uffec\001\002\000\146\012\uffa1\036\uffa1\037" +
-    "\uffa1\040\uffa1\041\uffa1\042\uffa1\043\uffa1\044\uffa1\045\uffa1" +
-    "\046\uffa1\047\uffa1\050\uffa1\051\uffa1\052\uffa1\061\uffa1\062" +
-    "\uffa1\063\uffa1\064\uffa1\065\uffa1\066\uffa1\067\uffa1\070\uffa1" +
-    "\071\uffa1\073\uffa1\074\uffa1\075\uffa1\076\uffa1\077\uffa1\100" +
-    "\uffa1\101\uffa1\102\uffa1\103\uffa1\104\uffa1\105\uffa1\106\uffa1" +
-    "\107\uffa1\110\uffa1\111\uffa1\112\uffa1\113\uffa1\114\uffa1\115" +
-    "\uffa1\116\uffa1\117\uffa1\120\uffa1\121\uffa1\122\uffa1\123\uffa1" +
-    "\124\uffa1\131\uffa1\001\002\000\004\072\u0140\001\002\000" +
-    "\146\012\233\036\232\037\240\040\u0124\041\241\042\237" +
-    "\043\236\044\250\045\226\046\246\047\244\050\225\051" +
-    "\242\052\243\061\111\062\077\063\067\064\102\065\125" +
-    "\066\072\067\050\070\155\071\023\073\133\074\154\075" +
-    "\135\076\203\077\142\100\113\101\171\102\175\103\205" +
-    "\104\201\105\204\106\052\107\114\110\173\111\143\112" +
-    "\u0146\113\u0145\114\024\115\016\116\047\117\124\120\141" +
-    "\121\056\122\051\123\055\124\153\131\123\001\002\000" +
-    "\114\002\uff81\005\uff81\007\uff81\010\u014e\011\uff81\012\u014c" +
-    "\013\uff81\014\uff81\015\uff81\016\uff81\017\uff81\020\uff81\021" +
-    "\uff81\022\uff81\023\uff81\032\uff81\035\u014f\053\uff81\054\uff81" +
-    "\055\uff81\056\uff81\057\uff81\060\uff81\061\uff81\062\uff81\063" +
-    "\uff81\064\uff81\065\uff81\066\uff81\067\uff81\075\uff81\100\uff81" +
-    "\101\uff81\102\uff81\107\uff81\110\uff81\111\uff81\001\002\000" +
-    "\114\002\uff7a\005\uff7a\007\uff7a\010\uff7a\011\uff7a\012\uff7a" +
-    "\013\uff7a\014\uff7a\015\uff7a\016\uff7a\017\uff7a\020\uff7a\021" +
-    "\uff7a\022\uff7a\023\uff7a\032\uff7a\035\uff7a\053\uff7a\054\uff7a" +
-    "\055\uff7a\056\uff7a\057\uff7a\060\uff7a\061\uff7a\062\uff7a\063" +
-    "\uff7a\064\uff7a\065\uff7a\066\uff7a\067\uff7a\075\uff7a\100\uff7a" +
-    "\101\uff7a\102\uff7a\107\uff7a\110\uff7a\111\uff7a\001\002\000" +
-    "\112\002\uffd6\005\uffd6\007\uffd6\010\uffd6\011\uffd6\012\uffd6" +
-    "\013\uffd6\014\uffd6\015\uffd6\016\uffd6\017\uffd6\020\uffd6\021" +
-    "\uffd6\022\uffd6\023\uffd6\032\uffd6\053\uffd6\054\uffd6\055\uffd6" +
-    "\056\uffd6\057\uffd6\060\uffd6\061\uffd6\062\uffd6\063\uffd6\064" +
-    "\uffd6\065\uffd6\066\uffd6\067\uffd6\075\uffd6\100\uffd6\101\uffd6" +
-    "\102\uffd6\107\uffd6\110\uffd6\111\uffd6\001\002\000\114\002" +
-    "\uff7b\005\uff7b\007\uff7b\010\uff7b\011\uff7b\012\uff7b\013\uff7b" +
-    "\014\uff7b\015\uff7b\016\uff7b\017\uff7b\020\uff7b\021\uff7b\022" +
-    "\uff7b\023\uff7b\032\uff7b\035\uff7b\053\uff7b\054\uff7b\055\uff7b" +
-    "\056\uff7b\057\uff7b\060\uff7b\061\uff7b\062\uff7b\063\uff7b\064" +
-    "\uff7b\065\uff7b\066\uff7b\067\uff7b\075\uff7b\100\uff7b\101\uff7b" +
-    "\102\uff7b\107\uff7b\110\uff7b\111\uff7b\001\002\000\006\006" +
-    "\u014a\031\uff20\001\002\000\006\006\u0148\031\uff21\001\002" +
-    "\000\120\002\uff78\005\uff78\007\uff78\010\uff78\011\uff78\012" +
-    "\uff78\013\uff78\014\uff78\015\uff78\016\uff78\017\uff78\020\uff78" +
-    "\021\uff78\022\uff78\023\uff78\032\uff78\035\uff78\053\uff78\054" +
-    "\uff78\055\uff78\056\uff78\057\uff78\060\uff78\061\uff78\062\uff78" +
-    "\063\uff78\064\uff78\065\uff78\066\uff78\067\uff78\071\uff78\073" +
-    "\uff78\075\uff78\100\uff78\101\uff78\102\uff78\107\uff78\110\uff78" +
-    "\111\uff78\001\002\000\004\007\u0149\001\002\000\112\002" +
-    "\uff7f\005\uff7f\007\uff7f\010\uff7f\011\uff7f\012\uff7f\013\uff7f" +
-    "\014\uff7f\015\uff7f\016\uff7f\017\uff7f\020\uff7f\021\uff7f\022" +
-    "\uff7f\023\uff7f\032\uff7f\053\uff7f\054\uff7f\055\uff7f\056\uff7f" +
-    "\057\uff7f\060\uff7f\061\uff7f\062\uff7f\063\uff7f\064\uff7f\065" +
-    "\uff7f\066\uff7f\067\uff7f\075\uff7f\100\uff7f\101\uff7f\102\uff7f" +
-    "\107\uff7f\110\uff7f\111\uff7f\001\002\000\004\007\u014b\001" +
-    "\002\000\114\002\uff79\005\uff79\007\uff79\010\uff79\011\uff79" +
-    "\012\uff79\013\uff79\014\uff79\015\uff79\016\uff79\017\uff79\020" +
-    "\uff79\021\uff79\022\uff79\023\uff79\032\uff79\035\uff79\053\uff79" +
-    "\054\uff79\055\uff79\056\uff79\057\uff79\060\uff79\061\uff79\062" +
-    "\uff79\063\uff79\064\uff79\065\uff79\066\uff79\067\uff79\075\uff79" +
-    "\100\uff79\101\uff79\102\uff79\107\uff79\110\uff79\111\uff79\001" +
-    "\002\000\112\002\uff7d\005\uff7d\007\uff7d\010\uff7d\011\uff7d" +
-    "\012\uff7d\013\uff7d\014\uff7d\015\uff7d\016\uff7d\017\uff7d\020" +
-    "\uff7d\021\uff7d\022\uff7d\023\uff7d\032\uff7d\053\uff7d\054\uff7d" +
-    "\055\uff7d\056\uff7d\057\uff7d\060\uff7d\061\uff7d\062\uff7d\063" +
-    "\uff7d\064\uff7d\065\uff7d\066\uff7d\067\uff7d\075\uff7d\100\uff7d" +
-    "\101\uff7d\102\uff7d\107\uff7d\110\uff7d\111\uff7d\001\002\000" +
-    "\112\002\uff80\005\uff80\007\uff80\010\uff80\011\uff80\012\uff80" +
-    "\013\uff80\014\uff80\015\uff80\016\uff80\017\uff80\020\uff80\021" +
-    "\uff80\022\uff80\023\uff80\032\uff80\053\uff80\054\uff80\055\uff80" +
-    "\056\uff80\057\uff80\060\uff80\061\uff80\062\uff80\063\uff80\064" +
-    "\uff80\065\uff80\066\uff80\067\uff80\075\uff80\100\uff80\101\uff80" +
-    "\102\uff80\107\uff80\110\uff80\111\uff80\001\002\000\112\002" +
-    "\uff7c\005\uff7c\007\uff7c\010\uff7c\011\uff7c\012\uff7c\013\uff7c" +
-    "\014\uff7c\015\uff7c\016\uff7c\017\uff7c\020\uff7c\021\uff7c\022" +
-    "\uff7c\023\uff7c\032\uff7c\053\uff7c\054\uff7c\055\uff7c\056\uff7c" +
-    "\057\uff7c\060\uff7c\061\uff7c\062\uff7c\063\uff7c\064\uff7c\065" +
-    "\uff7c\066\uff7c\067\uff7c\075\uff7c\100\uff7c\101\uff7c\102\uff7c" +
-    "\107\uff7c\110\uff7c\111\uff7c\001\002\000\112\002\uff7e\005" +
-    "\uff7e\007\uff7e\010\uff7e\011\uff7e\012\uff7e\013\uff7e\014\uff7e" +
-    "\015\uff7e\016\uff7e\017\uff7e\020\uff7e\021\uff7e\022\uff7e\023" +
-    "\uff7e\032\uff7e\053\uff7e\054\uff7e\055\uff7e\056\uff7e\057\uff7e" +
-    "\060\uff7e\061\uff7e\062\uff7e\063\uff7e\064\uff7e\065\uff7e\066" +
-    "\uff7e\067\uff7e\075\uff7e\100\uff7e\101\uff7e\102\uff7e\107\uff7e" +
-    "\110\uff7e\111\uff7e\001\002\000\146\012\233\036\232\037" +
-    "\240\040\252\041\241\042\237\043\236\044\250\045\226" +
-    "\046\246\047\244\050\225\051\242\052\243\061\111\062" +
-    "\077\063\067\064\102\065\125\066\072\067\050\070\155" +
-    "\071\023\073\133\074\154\075\135\076\203\077\142\100" +
-    "\113\101\171\102\175\103\205\104\201\105\204\106\052" +
-    "\107\114\110\173\111\143\112\132\113\126\114\253\115" +
-    "\247\116\251\117\227\120\234\121\230\122\245\123\235" +
-    "\124\153\131\123\001\002\000\004\007\u0153\001\002\000" +
-    "\004\007\uff5f\001\002\000\130\002\uff60\004\uff60\005\uff60" +
-    "\007\uff60\010\uff60\011\uff60\012\uff60\013\uff60\014\uff60\015" +
-    "\uff60\016\uff60\017\uff60\020\uff60\021\uff60\022\uff60\023\uff60" +
-    "\024\uff60\025\uff60\032\uff60\035\uff60\053\uff60\054\uff60\055" +
-    "\uff60\056\uff60\057\uff60\060\uff60\061\uff60\062\uff60\063\uff60" +
-    "\064\uff60\065\uff60\066\uff60\067\uff60\071\uff60\073\uff60\074" +
-    "\uff60\075\uff60\100\uff60\101\uff60\102\uff60\107\uff60\110\uff60" +
-    "\111\uff60\001\002\000\146\012\233\036\232\037\240\040" +
-    "\252\041\241\042\237\043\236\044\250\045\226\046\246" +
-    "\047\244\050\225\051\242\052\243\061\111\062\077\063" +
-    "\067\064\102\065\125\066\072\067\050\070\155\071\023" +
-    "\073\133\074\154\075\135\076\203\077\142\100\113\101" +
-    "\171\102\175\103\205\104\201\105\204\106\052\107\114" +
-    "\110\173\111\143\112\132\113\126\114\253\115\247\116" +
-    "\251\117\227\120\234\121\230\122\245\123\235\124\153" +
-    "\131\123\001\002\000\004\007\u0158\001\002\000\004\007" +
-    "\uff57\001\002\000\006\007\uff55\032\uff55\001\002\000\130" +
-    "\002\uff58\004\uff58\005\uff58\007\uff58\010\uff58\011\uff58\012" +
-    "\uff58\013\uff58\014\uff58\015\uff58\016\uff58\017\uff58\020\uff58" +
-    "\021\uff58\022\uff58\023\uff58\024\uff58\025\uff58\032\uff58\035" +
-    "\uff58\053\uff58\054\uff58\055\uff58\056\uff58\057\uff58\060\uff58" +
-    "\061\uff58\062\uff58\063\uff58\064\uff58\065\uff58\066\uff58\067" +
-    "\uff58\071\uff58\073\uff58\074\uff58\075\uff58\100\uff58\101\uff58" +
-    "\102\uff58\107\uff58\110\uff58\111\uff58\001\002\000\126\002" +
-    "\uffb4\004\214\005\uffb4\007\uffb4\010\uffb4\011\uffb4\012\uffb4" +
-    "\013\uffb4\014\uffb4\015\uffb4\016\uffb4\017\uffb4\020\uffb4\021" +
-    "\uffb4\022\uffb4\023\uffb4\024\uffb4\025\uffb4\032\uffb4\053\uffb4" +
-    "\054\uffb4\055\uffb4\056\uffb4\057\uffb4\060\uffb4\061\uffb4\062" +
-    "\uffb4\063\uffb4\064\uffb4\065\uffb4\066\uffb4\067\uffb4\071\uffb4" +
-    "\073\uffb4\074\uffb4\075\uffb4\100\uffb4\101\uffb4\102\uffb4\107" +
-    "\uffb4\110\uffb4\111\uffb4\001\002\000\150\007\u015c\012\u015b" +
-    "\036\232\037\240\040\252\041\241\042\237\043\236\044" +
-    "\250\045\226\046\246\047\244\050\225\051\242\052\243" +
-    "\061\111\062\077\063\067\064\102\065\125\066\072\067" +
-    "\050\070\155\071\023\073\133\074\154\075\135\076\203" +
-    "\077\142\100\113\101\171\102\175\103\205\104\201\105" +
-    "\204\106\052\107\114\110\173\111\143\112\132\113\126" +
-    "\114\253\115\247\116\251\117\227\120\234\121\230\122" +
-    "\245\123\235\124\153\131\123\001\002\000\010\007\uff59" +
-    "\031\uff18\032\uff59\001\002\000\130\002\uff5e\004\uff5e\005" +
-    "\uff5e\007\uff5e\010\uff5e\011\uff5e\012\uff5e\013\uff5e\014\uff5e" +
-    "\015\uff5e\016\uff5e\017\uff5e\020\uff5e\021\uff5e\022\uff5e\023" +
-    "\uff5e\024\uff5e\025\uff5e\032\uff5e\035\uff5e\053\uff5e\054\uff5e" +
-    "\055\uff5e\056\uff5e\057\uff5e\060\uff5e\061\uff5e\062\uff5e\063" +
-    "\uff5e\064\uff5e\065\uff5e\066\uff5e\067\uff5e\071\uff5e\073\uff5e" +
-    "\074\uff5e\075\uff5e\100\uff5e\101\uff5e\102\uff5e\107\uff5e\110" +
-    "\uff5e\111\uff5e\001\002\000\006\007\u0160\032\u015f\001\002" +
-    "\000\006\007\uff5a\032\uff5a\001\002\000\146\012\233\036" +
-    "\232\037\240\040\252\041\241\042\237\043\236\044\250" +
-    "\045\226\046\246\047\244\050\225\051\242\052\243\061" +
-    "\111\062\077\063\067\064\102\065\125\066\072\067\050" +
-    "\070\155\071\023\073\133\074\154\075\135\076\203\077" +
-    "\142\100\113\101\171\102\175\103\205\104\201\105\204" +
-    "\106\052\107\114\110\173\111\143\112\132\113\126\114" +
-    "\253\115\247\116\251\117\227\120\234\121\230\122\245" +
-    "\123\235\124\153\131\123\001\002\000\130\002\uff5d\004" +
-    "\uff5d\005\uff5d\007\uff5d\010\uff5d\011\uff5d\012\uff5d\013\uff5d" +
-    "\014\uff5d\015\uff5d\016\uff5d\017\uff5d\020\uff5d\021\uff5d\022" +
-    "\uff5d\023\uff5d\024\uff5d\025\uff5d\032\uff5d\035\uff5d\053\uff5d" +
-    "\054\uff5d\055\uff5d\056\uff5d\057\uff5d\060\uff5d\061\uff5d\062" +
-    "\uff5d\063\uff5d\064\uff5d\065\uff5d\066\uff5d\067\uff5d\071\uff5d" +
-    "\073\uff5d\074\uff5d\075\uff5d\100\uff5d\101\uff5d\102\uff5d\107" +
-    "\uff5d\110\uff5d\111\uff5d\001\002\000\006\007\u0163\035\u0162" +
-    "\001\002\000\004\007\u0164\001\002\000\130\002\uff5c\004" +
-    "\uff5c\005\uff5c\007\uff5c\010\uff5c\011\uff5c\012\uff5c\013\uff5c" +
-    "\014\uff5c\015\uff5c\016\uff5c\017\uff5c\020\uff5c\021\uff5c\022" +
-    "\uff5c\023\uff5c\024\uff5c\025\uff5c\032\uff5c\035\uff5c\053\uff5c" +
-    "\054\uff5c\055\uff5c\056\uff5c\057\uff5c\060\uff5c\061\uff5c\062" +
-    "\uff5c\063\uff5c\064\uff5c\065\uff5c\066\uff5c\067\uff5c\071\uff5c" +
-    "\073\uff5c\074\uff5c\075\uff5c\100\uff5c\101\uff5c\102\uff5c\107" +
-    "\uff5c\110\uff5c\111\uff5c\001\002\000\130\002\uff5b\004\uff5b" +
-    "\005\uff5b\007\uff5b\010\uff5b\011\uff5b\012\uff5b\013\uff5b\014" +
-    "\uff5b\015\uff5b\016\uff5b\017\uff5b\020\uff5b\021\uff5b\022\uff5b" +
-    "\023\uff5b\024\uff5b\025\uff5b\032\uff5b\035\uff5b\053\uff5b\054" +
-    "\uff5b\055\uff5b\056\uff5b\057\uff5b\060\uff5b\061\uff5b\062\uff5b" +
-    "\063\uff5b\064\uff5b\065\uff5b\066\uff5b\067\uff5b\071\uff5b\073" +
-    "\uff5b\074\uff5b\075\uff5b\100\uff5b\101\uff5b\102\uff5b\107\uff5b" +
-    "\110\uff5b\111\uff5b\001\002\000\004\007\u0166\001\002\000" +
-    "\130\002\uff6a\004\uff6a\005\uff6a\007\uff6a\010\uff6a\011\uff6a" +
-    "\012\uff6a\013\uff6a\014\uff6a\015\uff6a\016\uff6a\017\uff6a\020" +
-    "\uff6a\021\uff6a\022\uff6a\023\uff6a\024\uff6a\025\uff6a\032\uff6a" +
-    "\035\uff6a\053\uff6a\054\uff6a\055\uff6a\056\uff6a\057\uff6a\060" +
-    "\uff6a\061\uff6a\062\uff6a\063\uff6a\064\uff6a\065\uff6a\066\uff6a" +
-    "\067\uff6a\071\uff6a\073\uff6a\074\uff6a\075\uff6a\100\uff6a\101" +
-    "\uff6a\102\uff6a\107\uff6a\110\uff6a\111\uff6a\001\002\000\146" +
-    "\012\233\036\232\037\240\040\252\041\241\042\237\043" +
-    "\236\044\250\045\226\046\246\047\244\050\225\051\242" +
-    "\052\243\061\111\062\077\063\067\064\102\065\125\066" +
-    "\072\067\050\070\155\071\023\073\133\074\154\075\135" +
-    "\076\203\077\142\100\113\101\171\102\175\103\205\104" +
-    "\201\105\204\106\052\107\114\110\173\111\143\112\132" +
-    "\113\126\114\253\115\247\116\251\117\227\120\234\121" +
-    "\230\122\245\123\235\124\153\131\123\001\002\000\006" +
-    "\032\264\101\u0169\001\002\000\200\006\101\010\076\011" +
-    "\134\012\107\024\022\025\006\027\070\030\117\033\071" +
-    "\034\120\036\040\037\156\040\145\041\045\042\004\043" +
-    "\041\044\010\045\020\046\012\047\031\050\110\051\066" +
-    "\052\061\061\111\062\077\063\067\064\102\065\125\066" +
-    "\072\067\050\070\155\071\023\073\133\074\154\075\135" +
-    "\076\106\077\142\100\113\101\171\102\175\103\157\104" +
-    "\046\105\147\106\052\107\114\110\173\111\143\112\132" +
-    "\113\126\114\024\115\016\116\047\117\124\120\141\121" +
-    "\056\122\051\123\055\124\153\125\034\126\035\127\104" +
-    "\130\167\131\123\001\002\000\020\002\ufff5\005\ufff5\007" +
-    "\ufff5\032\ufff5\100\ufff5\101\ufff5\107\ufff5\001\002\000\146" +
-    "\012\uffae\036\uffae\037\uffae\040\uffae\041\uffae\042\uffae\043" +
-    "\uffae\044\uffae\045\uffae\046\uffae\047\uffae\050\uffae\051\uffae" +
-    "\052\uffae\061\uffae\062\uffae\063\uffae\064\uffae\065\uffae\066" +
-    "\uffae\067\uffae\070\uffae\071\uffae\073\uffae\074\uffae\075\uffae" +
-    "\076\uffae\077\uffae\100\uffae\101\uffae\102\uffae\103\uffae\104" +
-    "\uffae\105\uffae\106\uffae\107\uffae\110\uffae\111\uffae\112\uffae" +
-    "\113\uffae\114\uffae\115\uffae\116\uffae\117\uffae\120\uffae\121" +
-    "\uffae\122\uffae\123\uffae\124\uffae\131\uffae\001\002\000\146" +
-    "\012\uffac\036\uffac\037\uffac\040\uffac\041\uffac\042\uffac\043" +
-    "\uffac\044\uffac\045\uffac\046\uffac\047\uffac\050\uffac\051\uffac" +
-    "\052\uffac\061\uffac\062\uffac\063\uffac\064\uffac\065\uffac\066" +
-    "\uffac\067\uffac\070\uffac\071\uffac\073\uffac\074\uffac\075\uffac" +
-    "\076\uffac\077\uffac\100\uffac\101\uffac\102\uffac\103\uffac\104" +
-    "\uffac\105\uffac\106\uffac\107\uffac\110\uffac\111\uffac\112\uffac" +
-    "\113\uffac\114\uffac\115\uffac\116\uffac\117\uffac\120\uffac\121" +
-    "\uffac\122\uffac\123\uffac\124\uffac\131\uffac\001\002\000\146" +
-    "\012\uffb1\036\uffb1\037\uffb1\040\uffb1\041\uffb1\042\uffb1\043" +
-    "\uffb1\044\uffb1\045\uffb1\046\uffb1\047\uffb1\050\uffb1\051\uffb1" +
-    "\052\uffb1\061\uffb1\062\uffb1\063\uffb1\064\uffb1\065\uffb1\066" +
-    "\uffb1\067\uffb1\070\uffb1\071\uffb1\073\uffb1\074\uffb1\075\uffb1" +
-    "\076\uffb1\077\uffb1\100\uffb1\101\uffb1\102\uffb1\103\uffb1\104" +
-    "\uffb1\105\uffb1\106\uffb1\107\uffb1\110\uffb1\111\uffb1\112\uffb1" +
-    "\113\uffb1\114\uffb1\115\uffb1\116\uffb1\117\uffb1\120\uffb1\121" +
-    "\uffb1\122\uffb1\123\uffb1\124\uffb1\131\uffb1\001\002\000\004" +
-    "\072\u016f\001\002\000\146\012\233\036\232\037\240\040" +
-    "\252\041\241\042\237\043\236\044\250\045\226\046\246" +
-    "\047\244\050\225\051\242\052\243\061\111\062\077\063" +
-    "\067\064\102\065\125\066\072\067\050\070\155\071\023" +
-    "\073\133\074\154\075\135\076\203\077\142\100\113\101" +
-    "\171\102\175\103\205\104\201\105\204\106\052\107\114" +
-    "\110\173\111\143\112\132\113\126\114\253\115\247\116" +
-    "\251\117\227\120\234\121\230\122\245\123\235\124\153" +
-    "\131\123\001\002\000\114\002\uffd4\005\uffd4\007\uffd4\010" +
-    "\uffd4\011\uffd4\012\uffd4\013\uffd4\014\uffd4\015\uffd4\016\uffd4" +
-    "\017\uffd4\020\uffd4\021\uffd4\022\uffd4\023\uffd4\032\uffd4\053" +
-    "\uffd4\054\uffd4\055\uffd4\056\uffd4\057\uffd4\060\uffd4\061\uffd4" +
-    "\062\uffd4\063\uffd4\064\uffd4\065\uffd4\066\uffd4\067\uffd4\071" +
-    "\uffd4\075\uffd4\100\uffd4\101\uffd4\102\uffd4\107\uffd4\110\uffd4" +
-    "\111\uffd4\001\002\000\120\002\uff83\005\uff83\007\uff83\010" +
-    "\uff83\011\uff83\012\uff83\013\uff83\014\uff83\015\uff83\016\uff83" +
-    "\017\uff83\020\uff83\021\uff83\022\uff83\023\uff83\032\uff83\035" +
-    "\u0172\053\uff83\054\uff83\055\uff83\056\uff83\057\uff83\060\uff83" +
-    "\061\uff83\062\uff83\063\uff83\064\uff83\065\uff83\066\uff83\067" +
-    "\uff83\071\uff83\073\uff83\075\uff83\100\uff83\101\uff83\102\uff83" +
-    "\107\uff83\110\uff83\111\uff83\001\002\000\116\002\uff82\005" +
-    "\uff82\007\uff82\010\uff82\011\uff82\012\uff82\013\uff82\014\uff82" +
-    "\015\uff82\016\uff82\017\uff82\020\uff82\021\uff82\022\uff82\023" +
-    "\uff82\032\uff82\053\uff82\054\uff82\055\uff82\056\uff82\057\uff82" +
-    "\060\uff82\061\uff82\062\uff82\063\uff82\064\uff82\065\uff82\066" +
-    "\uff82\067\uff82\071\uff82\073\uff82\075\uff82\100\uff82\101\uff82" +
-    "\102\uff82\107\uff82\110\uff82\111\uff82\001\002\000\126\002" +
-    "\uffb3\004\uffb3\005\uffb3\007\uffb3\010\uffb3\011\uffb3\012\uffb3" +
-    "\013\uffb3\014\uffb3\015\uffb3\016\uffb3\017\uffb3\020\uffb3\021" +
-    "\uffb3\022\uffb3\023\uffb3\024\uffb3\025\uffb3\032\uffb3\053\uffb3" +
-    "\054\uffb3\055\uffb3\056\uffb3\057\uffb3\060\uffb3\061\uffb3\062" +
-    "\uffb3\063\uffb3\064\uffb3\065\uffb3\066\uffb3\067\uffb3\071\uffb3" +
-    "\073\uffb3\074\uffb3\075\uffb3\100\uffb3\101\uffb3\102\uffb3\107" +
-    "\uffb3\110\uffb3\111\uffb3\001\002\000\146\012\uffa4\036\uffa4" +
-    "\037\uffa4\040\uffa4\041\uffa4\042\uffa4\043\uffa4\044\uffa4\045" +
-    "\uffa4\046\uffa4\047\uffa4\050\uffa4\051\uffa4\052\uffa4\061\uffa4" +
-    "\062\uffa4\063\uffa4\064\uffa4\065\uffa4\066\uffa4\067\uffa4\070" +
-    "\uffa4\071\uffa4\073\uffa4\074\uffa4\075\uffa4\076\uffa4\077\uffa4" +
-    "\100\uffa4\101\uffa4\102\uffa4\103\uffa4\104\uffa4\105\uffa4\106" +
-    "\uffa4\107\uffa4\110\uffa4\111\uffa4\112\uffa4\113\uffa4\114\uffa4" +
-    "\115\uffa4\116\uffa4\117\uffa4\120\uffa4\121\uffa4\122\uffa4\123" +
-    "\uffa4\124\uffa4\131\uffa4\001\002\000\200\006\101\010\076" +
-    "\011\134\012\107\024\022\025\006\027\070\030\117\033" +
-    "\071\034\120\036\040\037\156\040\145\041\045\042\004" +
-    "\043\041\044\010\045\020\046\012\047\031\050\110\051" +
-    "\066\052\061\061\111\062\077\063\067\064\102\065\125" +
-    "\066\072\067\050\070\155\071\023\073\133\074\154\075" +
-    "\135\076\203\077\142\100\113\101\171\102\175\103\205" +
-    "\104\201\105\204\106\052\107\114\110\173\111\143\112" +
-    "\132\113\126\114\024\115\016\116\047\117\124\120\141" +
-    "\121\056\122\051\123\055\124\153\125\034\126\035\127" +
-    "\104\130\167\131\123\001\002\000\200\006\101\010\076" +
-    "\011\134\012\107\024\022\025\006\027\070\030\117\033" +
-    "\071\034\120\036\040\037\156\040\145\041\045\042\004" +
-    "\043\041\044\010\045\020\046\012\047\031\050\110\051" +
-    "\066\052\061\061\111\062\077\063\067\064\102\065\125" +
-    "\066\072\067\050\070\155\071\023\073\133\074\154\075" +
-    "\135\076\203\077\142\100\113\101\171\102\175\103\205" +
-    "\104\201\105\204\106\052\107\114\110\173\111\143\112" +
-    "\132\113\126\114\024\115\016\116\047\117\124\120\141" +
-    "\121\056\122\051\123\055\124\153\125\034\126\035\127" +
-    "\104\130\167\131\123\001\002\000\200\006\101\010\076" +
-    "\011\134\012\107\024\022\025\006\027\070\030\117\033" +
-    "\071\034\120\036\040\037\156\040\145\041\045\042\004" +
-    "\043\041\044\010\045\020\046\012\047\031\050\110\051" +
-    "\066\052\061\061\111\062\077\063\067\064\102\065\125" +
-    "\066\072\067\050\070\155\071\023\073\133\074\154\075" +
-    "\135\076\203\077\142\100\113\101\171\102\175\103\205" +
-    "\104\201\105\204\106\052\107\114\110\173\111\143\112" +
-    "\132\113\126\114\024\115\016\116\047\117\124\120\141" +
-    "\121\056\122\051\123\055\124\153\125\034\126\035\127" +
-    "\104\130\167\131\123\001\002\000\100\002\uffe5\005\uffe5" +
-    "\007\uffe5\010\uffe5\011\uffe5\012\u0101\014\uffe5\015\uffe5\016" +
-    "\uffe5\017\uffe5\020\uffe5\021\uffe5\022\uffe5\023\uffe5\032\uffe5" +
-    "\053\uffe5\054\uffe5\055\uffe5\056\uffe5\057\uffe5\060\uffe5\061" +
-    "\u0103\062\u0104\063\u0102\075\uffe5\100\uffe5\101\uffe5\102\uffe5" +
-    "\107\uffe5\110\uffe5\111\uffe5\001\002\000\100\002\uffe6\005" +
-    "\uffe6\007\uffe6\010\uffe6\011\uffe6\012\u0101\014\uffe6\015\uffe6" +
-    "\016\uffe6\017\uffe6\020\uffe6\021\uffe6\022\uffe6\023\uffe6\032" +
-    "\uffe6\053\uffe6\054\uffe6\055\uffe6\056\uffe6\057\uffe6\060\uffe6" +
-    "\061\u0103\062\u0104\063\u0102\075\uffe6\100\uffe6\101\uffe6\102" +
-    "\uffe6\107\uffe6\110\uffe6\111\uffe6\001\002\000\066\002\uffe8" +
-    "\005\uffe8\007\uffe8\010\u0176\011\u0177\014\uffe8\015\uffe8\016" +
-    "\uffe8\017\uffe8\020\uffe8\021\uffe8\022\uffe8\023\uffe8\032\uffe8" +
-    "\053\uffe8\054\uffe8\055\uffe8\056\uffe8\057\uffe8\060\uffe8\075" +
-    "\uffe8\100\uffe8\101\uffe8\107\uffe8\110\uffe8\111\uffe8\001\002" +
-    "\000\004\007\u017c\001\002\000\130\002\uff6e\004\uff6e\005" +
-    "\uff6e\007\uff6e\010\uff6e\011\uff6e\012\uff6e\013\uff6e\014\uff6e" +
-    "\015\uff6e\016\uff6e\017\uff6e\020\uff6e\021\uff6e\022\uff6e\023" +
-    "\uff6e\024\uff6e\025\uff6e\032\uff6e\035\uff6e\053\uff6e\054\uff6e" +
-    "\055\uff6e\056\uff6e\057\uff6e\060\uff6e\061\uff6e\062\uff6e\063" +
-    "\uff6e\064\uff6e\065\uff6e\066\uff6e\067\uff6e\071\uff6e\073\uff6e" +
-    "\074\uff6e\075\uff6e\100\uff6e\101\uff6e\102\uff6e\107\uff6e\110" +
-    "\uff6e\111\uff6e\001\002\000\124\002\uffbd\005\uffbd\007\uffbd" +
-    "\010\uffbd\011\uffbd\012\uffbd\013\uffbd\014\uffbd\015\uffbd\016" +
-    "\uffbd\017\uffbd\020\uffbd\021\uffbd\022\uffbd\023\uffbd\024\375" +
-    "\025\376\032\uffbd\053\uffbd\054\uffbd\055\uffbd\056\uffbd\057" +
-    "\uffbd\060\uffbd\061\uffbd\062\uffbd\063\uffbd\064\uffbd\065\uffbd" +
-    "\066\uffbd\067\uffbd\071\uffbd\073\uffbd\074\uffbd\075\uffbd\100" +
-    "\uffbd\101\uffbd\102\uffbd\107\uffbd\110\uffbd\111\uffbd\001\002" +
-    "\000\146\012\uffaa\036\uffaa\037\uffaa\040\uffaa\041\uffaa\042" +
-    "\uffaa\043\uffaa\044\uffaa\045\uffaa\046\uffaa\047\uffaa\050\uffaa" +
-    "\051\uffaa\052\uffaa\061\uffaa\062\uffaa\063\uffaa\064\uffaa\065" +
-    "\uffaa\066\uffaa\067\uffaa\070\uffaa\071\uffaa\073\uffaa\074\uffaa" +
-    "\075\uffaa\076\uffaa\077\uffaa\100\uffaa\101\uffaa\102\uffaa\103" +
-    "\uffaa\104\uffaa\105\uffaa\106\uffaa\107\uffaa\110\uffaa\111\uffaa" +
-    "\112\uffaa\113\uffaa\114\uffaa\115\uffaa\116\uffaa\117\uffaa\120" +
-    "\uffaa\121\uffaa\122\uffaa\123\uffaa\124\uffaa\131\uffaa\001\002" +
-    "\000\010\007\u0183\122\u0184\123\u0182\001\002\000\004\007" +
-    "\u0186\001\002\000\004\007\u0185\001\002\000\004\006\u0154" +
-    "\001\002\000\130\002\uff6d\004\uff6d\005\uff6d\007\uff6d\010" +
-    "\uff6d\011\uff6d\012\uff6d\013\uff6d\014\uff6d\015\uff6d\016\uff6d" +
-    "\017\uff6d\020\uff6d\021\uff6d\022\uff6d\023\uff6d\024\uff6d\025" +
-    "\uff6d\032\uff6d\035\uff6d\053\uff6d\054\uff6d\055\uff6d\056\uff6d" +
-    "\057\uff6d\060\uff6d\061\uff6d\062\uff6d\063\uff6d\064\uff6d\065" +
-    "\uff6d\066\uff6d\067\uff6d\071\uff6d\073\uff6d\074\uff6d\075\uff6d" +
-    "\100\uff6d\101\uff6d\102\uff6d\107\uff6d\110\uff6d\111\uff6d\001" +
-    "\002\000\004\006\u015a\001\002\000\130\002\uff6b\004\uff6b" +
-    "\005\uff6b\007\uff6b\010\uff6b\011\uff6b\012\uff6b\013\uff6b\014" +
-    "\uff6b\015\uff6b\016\uff6b\017\uff6b\020\uff6b\021\uff6b\022\uff6b" +
-    "\023\uff6b\024\uff6b\025\uff6b\032\uff6b\035\uff6b\053\uff6b\054" +
-    "\uff6b\055\uff6b\056\uff6b\057\uff6b\060\uff6b\061\uff6b\062\uff6b" +
-    "\063\uff6b\064\uff6b\065\uff6b\066\uff6b\067\uff6b\071\uff6b\073" +
-    "\uff6b\074\uff6b\075\uff6b\100\uff6b\101\uff6b\102\uff6b\107\uff6b" +
-    "\110\uff6b\111\uff6b\001\002\000\130\002\uff6c\004\uff6c\005" +
-    "\uff6c\007\uff6c\010\uff6c\011\uff6c\012\uff6c\013\uff6c\014\uff6c" +
-    "\015\uff6c\016\uff6c\017\uff6c\020\uff6c\021\uff6c\022\uff6c\023" +
-    "\uff6c\024\uff6c\025\uff6c\032\uff6c\035\uff6c\053\uff6c\054\uff6c" +
-    "\055\uff6c\056\uff6c\057\uff6c\060\uff6c\061\uff6c\062\uff6c\063" +
-    "\uff6c\064\uff6c\065\uff6c\066\uff6c\067\uff6c\071\uff6c\073\uff6c" +
-    "\074\uff6c\075\uff6c\100\uff6c\101\uff6c\102\uff6c\107\uff6c\110" +
-    "\uff6c\111\uff6c\001\002\000\004\070\u0188\001\002\000\146" +
-    "\012\233\036\232\037\240\040\u0124\041\241\042\237\043" +
-    "\236\044\250\045\226\046\246\047\244\050\225\051\242" +
-    "\052\243\061\111\062\077\063\067\064\102\065\125\066" +
-    "\072\067\050\070\155\071\023\073\133\074\154\075\135" +
-    "\076\203\077\142\100\113\101\171\102\175\103\205\104" +
-    "\201\105\204\106\052\107\114\110\173\111\143\112\u0146" +
-    "\113\u0145\114\024\115\016\116\047\117\124\120\141\121" +
-    "\056\122\051\123\055\124\153\131\123\001\002\000\110" +
-    "\002\uffd8\005\uffd8\007\uffd8\010\uffd8\011\uffd8\012\uffd8\013" +
-    "\uffd8\014\uffd8\015\uffd8\016\uffd8\017\uffd8\020\uffd8\021\uffd8" +
-    "\022\uffd8\023\uffd8\032\uffd8\053\uffd8\054\uffd8\055\uffd8\056" +
-    "\uffd8\057\uffd8\060\uffd8\061\uffd8\062\uffd8\063\uffd8\064\uffd8" +
-    "\065\uffd8\066\uffd8\075\uffd8\100\uffd8\101\uffd8\102\uffd8\107" +
-    "\uffd8\110\uffd8\111\uffd8\001\002\000\004\072\u018b\001\002" +
-    "\000\146\012\233\036\232\037\240\040\252\041\241\042" +
-    "\237\043\236\044\250\045\226\046\246\047\244\050\225" +
-    "\051\242\052\243\061\111\062\077\063\067\064\102\065" +
-    "\125\066\072\067\050\070\155\071\023\073\133\074\154" +
-    "\075\135\076\203\077\142\100\113\101\171\102\175\103" +
-    "\205\104\201\105\204\106\052\107\114\110\173\111\143" +
-    "\112\132\113\126\114\253\115\247\116\251\117\227\120" +
-    "\234\121\230\122\245\123\235\124\153\131\123\001\002" +
-    "\000\116\002\uffd2\005\uffd2\007\uffd2\010\uffd2\011\uffd2\012" +
-    "\uffd2\013\uffd2\014\uffd2\015\uffd2\016\uffd2\017\uffd2\020\uffd2" +
-    "\021\uffd2\022\uffd2\023\uffd2\032\uffd2\053\uffd2\054\uffd2\055" +
-    "\uffd2\056\uffd2\057\uffd2\060\uffd2\061\uffd2\062\uffd2\063\uffd2" +
-    "\064\uffd2\065\uffd2\066\uffd2\067\uffd2\071\uffd2\073\uffd2\075" +
-    "\uffd2\100\uffd2\101\uffd2\102\uffd2\107\uffd2\110\uffd2\111\uffd2" +
-    "\001\002\000\004\002\000\001\002\000\146\012\uffa5\036" +
-    "\uffa5\037\uffa5\040\uffa5\041\uffa5\042\uffa5\043\uffa5\044\uffa5" +
-    "\045\uffa5\046\uffa5\047\uffa5\050\uffa5\051\uffa5\052\uffa5\061" +
-    "\uffa5\062\uffa5\063\uffa5\064\uffa5\065\uffa5\066\uffa5\067\uffa5" +
-    "\070\uffa5\071\uffa5\073\uffa5\074\uffa5\075\uffa5\076\uffa5\077" +
-    "\uffa5\100\uffa5\101\uffa5\102\uffa5\103\uffa5\104\uffa5\105\uffa5" +
-    "\106\uffa5\107\uffa5\110\uffa5\111\uffa5\112\uffa5\113\uffa5\114" +
-    "\uffa5\115\uffa5\116\uffa5\117\uffa5\120\uffa5\121\uffa5\122\uffa5" +
-    "\123\uffa5\124\uffa5\131\uffa5\001\002\000\126\002\uffa7\004" +
-    "\uffa7\005\uffa7\007\uffa7\010\uffa7\011\uffa7\012\uffa7\013\uffa7" +
-    "\014\uffa7\015\uffa7\016\uffa7\017\uffa7\020\uffa7\021\uffa7\022" +
-    "\uffa7\023\uffa7\024\uffa7\025\uffa7\032\uffa7\053\uffa7\054\uffa7" +
-    "\055\uffa7\056\uffa7\057\uffa7\060\uffa7\061\uffa7\062\uffa7\063" +
-    "\uffa7\064\uffa7\065\uffa7\066\uffa7\067\uffa7\071\uffa7\073\uffa7" +
-    "\074\uffa7\075\uffa7\100\uffa7\101\uffa7\102\uffa7\107\uffa7\110" +
-    "\uffa7\111\uffa7\001\002\000\146\012\uffab\036\uffab\037\uffab" +
-    "\040\uffab\041\uffab\042\uffab\043\uffab\044\uffab\045\uffab\046" +
-    "\uffab\047\uffab\050\uffab\051\uffab\052\uffab\061\uffab\062\uffab" +
-    "\063\uffab\064\uffab\065\uffab\066\uffab\067\uffab\070\uffab\071" +
-    "\uffab\073\uffab\074\uffab\075\uffab\076\uffab\077\uffab\100\uffab" +
-    "\101\uffab\102\uffab\103\uffab\104\uffab\105\uffab\106\uffab\107" +
-    "\uffab\110\uffab\111\uffab\112\uffab\113\uffab\114\uffab\115\uffab" +
-    "\116\uffab\117\uffab\120\uffab\121\uffab\122\uffab\123\uffab\124" +
-    "\uffab\131\uffab\001\002\000\200\006\101\010\076\011\134" +
-    "\012\107\024\022\025\006\027\070\030\117\033\071\034" +
-    "\120\036\040\037\156\040\145\041\045\042\004\043\041" +
-    "\044\010\045\020\046\012\047\031\050\110\051\066\052" +
-    "\061\061\111\062\077\063\067\064\102\065\125\066\072" +
-    "\067\050\070\155\071\023\073\133\074\154\075\135\076" +
-    "\203\077\142\100\113\101\171\102\175\103\205\104\201" +
-    "\105\204\106\052\107\114\110\173\111\143\112\132\113" +
-    "\126\114\024\115\016\116\047\117\124\120\141\121\056" +
-    "\122\051\123\055\124\153\125\034\126\035\127\104\130" +
-    "\167\131\123\001\002\000\024\002\ufff0\005\ufff0\007\ufff0" +
-    "\032\ufff0\100\ufff0\101\ufff0\107\ufff0\110\200\111\ufff0\001" +
-    "\002\000\124\002\uffbc\005\uffbc\007\uffbc\010\uffbc\011\uffbc" +
-    "\012\uffbc\013\uffbc\014\uffbc\015\uffbc\016\uffbc\017\uffbc\020" +
-    "\uffbc\021\uffbc\022\uffbc\023\uffbc\024\375\025\376\032\uffbc" +
-    "\053\uffbc\054\uffbc\055\uffbc\056\uffbc\057\uffbc\060\uffbc\061" +
-    "\uffbc\062\uffbc\063\uffbc\064\uffbc\065\uffbc\066\uffbc\067\uffbc" +
-    "\071\uffbc\073\uffbc\074\uffbc\075\uffbc\100\uffbc\101\uffbc\102" +
-    "\uffbc\107\uffbc\110\uffbc\111\uffbc\001\002\000\146\012\uffad" +
-    "\036\uffad\037\uffad\040\uffad\041\uffad\042\uffad\043\uffad\044" +
-    "\uffad\045\uffad\046\uffad\047\uffad\050\uffad\051\uffad\052\uffad" +
-    "\061\uffad\062\uffad\063\uffad\064\uffad\065\uffad\066\uffad\067" +
-    "\uffad\070\uffad\071\uffad\073\uffad\074\uffad\075\uffad\076\uffad" +
-    "\077\uffad\100\uffad\101\uffad\102\uffad\103\uffad\104\uffad\105" +
-    "\uffad\106\uffad\107\uffad\110\uffad\111\uffad\112\uffad\113\uffad" +
-    "\114\uffad\115\uffad\116\uffad\117\uffad\120\uffad\121\uffad\122" +
-    "\uffad\123\uffad\124\uffad\131\uffad\001\002" });
-
-  /** Access to parse-action table. */
-  public short[][] action_table() {return _action_table;}
-
-  /** <code>reduce_goto</code> table. */
-  protected static final short[][] _reduce_table = 
-    unpackFromStrings(new String[] {
-    "\000\u0192\000\174\003\137\005\041\006\111\007\150\010" +
-    "\173\021\102\023\063\025\010\026\031\032\135\033\036" +
-    "\036\157\037\161\040\167\041\053\042\136\043\077\044" +
-    "\163\045\176\046\127\047\013\052\014\053\056\054\042" +
-    "\055\032\056\043\057\126\060\171\061\074\062\026\065" +
-    "\175\066\006\067\062\070\061\071\160\072\057\073\143" +
-    "\074\114\075\052\076\020\077\165\100\004\101\164\102" +
-    "\016\103\024\104\151\105\025\106\073\107\121\110\162" +
-    "\111\104\112\130\113\120\114\012\115\115\116\035\117" +
-    "\064\120\147\121\145\122\027\123\072\001\001\000\002" +
-    "\001\001\000\002\001\001\000\120\003\137\005\041\006" +
-    "\111\007\150\010\173\021\102\023\063\025\010\026\031" +
-    "\032\135\037\161\040\167\041\053\042\136\043\077\044" +
-    "\163\045\176\046\u0192\071\160\072\057\073\143\074\114" +
-    "\075\052\076\020\077\165\100\004\101\164\102\016\103" +
-    "\024\104\151\105\025\106\073\107\121\110\162\111\104" +
-    "\112\130\113\120\122\027\123\072\001\001\000\002\001" +
-    "\001\000\002\001\001\000\046\003\137\005\041\006\111" +
-    "\007\150\021\u0124\023\063\040\u018e\071\160\072\057\103" +
-    "\024\104\151\105\025\106\073\107\121\110\162\111\104" +
-    "\112\130\113\120\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\120\003\137\005\041\006\111\007\150\010\173\021\102" +
-    "\023\063\025\010\026\031\032\135\037\161\040\167\041" +
-    "\053\042\136\043\077\044\163\045\176\046\u017c\071\160" +
-    "\072\057\073\143\074\114\075\052\076\020\077\165\100" +
-    "\004\101\164\102\016\103\024\104\151\105\025\106\073" +
-    "\107\121\110\162\111\104\112\130\113\120\122\027\123" +
-    "\072\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\046\003\137\005\041\006\111" +
-    "\007\150\021\u0124\023\063\040\u0172\071\160\072\057\103" +
-    "\024\104\151\105\025\106\073\107\121\110\162\111\104" +
-    "\112\130\113\120\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\004\034\u0158" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\010\027\u0138\063\u0137\064\u0133\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\004\125\u0125" +
-    "\001\001\000\046\003\137\005\041\006\111\007\150\021" +
-    "\u0124\023\063\040\u0122\071\160\072\057\103\024\104\151" +
-    "\105\025\106\073\107\121\110\162\111\104\112\130\113" +
-    "\120\001\001\000\016\003\137\005\041\006\111\007\150" +
-    "\021\253\022\u0121\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\126\003\137" +
-    "\005\041\006\111\007\150\010\173\021\102\023\063\025" +
-    "\010\026\031\032\135\037\161\040\167\041\053\042\136" +
-    "\043\077\044\163\045\176\046\127\047\u0120\071\160\072" +
-    "\057\073\143\074\114\075\052\076\020\077\165\100\004" +
-    "\101\164\102\016\103\024\104\151\105\025\106\073\107" +
-    "\121\110\162\111\104\112\130\113\120\120\147\121\145" +
-    "\122\027\123\072\001\001\000\002\001\001\000\004\034" +
-    "\u011f\001\001\000\172\003\137\005\041\006\111\007\150" +
-    "\010\173\021\102\023\063\025\010\026\031\032\135\033" +
-    "\u011c\036\157\037\161\040\167\041\053\042\136\043\077" +
-    "\044\163\045\176\046\127\047\013\052\014\053\056\054" +
-    "\042\055\032\056\043\057\126\060\171\061\074\062\026" +
-    "\065\175\066\006\067\062\070\061\071\160\072\057\073" +
-    "\143\074\114\075\052\076\020\077\165\100\004\101\164" +
-    "\102\016\103\024\104\151\105\025\106\073\107\121\110" +
-    "\162\111\104\112\130\113\120\115\115\116\035\117\064" +
-    "\120\147\121\145\122\027\123\072\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\126\003" +
-    "\137\005\041\006\111\007\150\010\173\021\102\023\063" +
-    "\025\010\026\031\032\135\037\161\040\167\041\053\042" +
-    "\136\043\077\044\163\045\176\046\127\047\373\071\160" +
-    "\072\057\073\143\074\114\075\052\076\020\077\165\100" +
-    "\004\101\164\102\016\103\024\104\151\105\025\106\073" +
-    "\107\121\110\162\111\104\112\130\113\120\120\147\121" +
-    "\145\122\027\123\072\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\004\034\211\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\152\003\137\005\041\006" +
-    "\111\007\150\010\173\021\102\023\063\025\010\026\031" +
-    "\032\135\037\161\040\167\041\053\042\136\043\077\044" +
-    "\163\045\176\046\127\047\013\052\014\053\056\054\042" +
-    "\055\032\056\043\057\126\060\171\062\026\067\062\070" +
-    "\201\071\160\072\057\073\143\074\114\075\052\076\020" +
-    "\077\165\100\004\101\164\102\016\103\024\104\151\105" +
-    "\025\106\073\107\121\110\162\111\104\112\130\113\120" +
-    "\120\147\121\145\122\027\123\072\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\136\003\137\005\041\006\111\007" +
-    "\150\010\173\021\102\023\063\025\010\026\031\032\135" +
-    "\037\161\040\167\041\053\042\136\043\077\044\163\045" +
-    "\176\046\127\047\013\052\014\053\056\054\210\055\032" +
-    "\071\160\072\057\073\143\074\114\075\052\076\020\077" +
-    "\165\100\004\101\164\102\016\103\024\104\151\105\025" +
-    "\106\073\107\121\110\162\111\104\112\130\113\120\120" +
-    "\147\121\145\122\027\123\072\001\001\000\136\003\137" +
-    "\005\041\006\111\007\150\010\173\021\102\023\063\025" +
-    "\010\026\031\032\135\037\161\040\167\041\053\042\136" +
-    "\043\077\044\163\045\176\046\127\047\013\052\014\053" +
-    "\056\054\207\055\032\071\160\072\057\073\143\074\114" +
-    "\075\052\076\020\077\165\100\004\101\164\102\016\103" +
-    "\024\104\151\105\025\106\073\107\121\110\162\111\104" +
-    "\112\130\113\120\120\147\121\145\122\027\123\072\001" +
-    "\001\000\002\001\001\000\002\001\001\000\004\124\212" +
-    "\001\001\000\002\001\001\000\172\003\137\005\041\006" +
-    "\111\007\150\010\173\021\102\023\063\025\010\026\031" +
-    "\032\135\033\214\036\157\037\161\040\167\041\053\042" +
-    "\136\043\077\044\163\045\176\046\127\047\013\052\014" +
-    "\053\056\054\042\055\032\056\043\057\126\060\171\061" +
-    "\074\062\026\065\175\066\006\067\062\070\061\071\160" +
-    "\072\057\073\143\074\114\075\052\076\020\077\165\100" +
-    "\004\101\164\102\016\103\024\104\151\105\025\106\073" +
-    "\107\121\110\162\111\104\112\130\113\120\115\115\116" +
-    "\035\117\064\120\147\121\145\122\027\123\072\001\001" +
-    "\000\002\001\001\000\170\003\137\005\041\006\111\007" +
-    "\150\010\173\021\102\023\063\025\010\026\031\032\135" +
-    "\036\157\037\161\040\167\041\053\042\136\043\077\044" +
-    "\163\045\176\046\127\047\013\052\014\053\056\054\042" +
-    "\055\032\056\043\057\126\060\171\061\217\062\026\065" +
-    "\175\066\006\067\062\070\061\071\160\072\057\073\143" +
-    "\074\114\075\052\076\020\077\165\100\004\101\164\102" +
-    "\016\103\024\104\151\105\025\106\073\107\121\110\162" +
-    "\111\104\112\130\113\120\115\115\116\035\117\064\120" +
-    "\147\121\145\122\027\123\072\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\170\003\137\005" +
-    "\041\006\111\007\150\010\173\021\102\023\063\025\010" +
-    "\026\031\032\135\036\157\037\161\040\167\041\053\042" +
-    "\136\043\077\044\163\045\176\046\127\047\013\052\014" +
-    "\053\056\054\042\055\032\056\043\057\126\060\171\061" +
-    "\222\062\026\065\175\066\006\067\062\070\061\071\160" +
-    "\072\057\073\143\074\114\075\052\076\020\077\165\100" +
-    "\004\101\164\102\016\103\024\104\151\105\025\106\073" +
-    "\107\121\110\162\111\104\112\130\113\120\115\115\116" +
-    "\035\117\064\120\147\121\145\122\027\123\072\001\001" +
-    "\000\002\001\001\000\016\003\137\005\041\006\111\007" +
-    "\150\021\253\022\230\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\170\003\137\005\041\006\111\007\150\010\173\021\102" +
-    "\023\063\025\010\026\031\032\135\036\157\037\161\040" +
-    "\167\041\053\042\136\043\077\044\163\045\176\046\127" +
-    "\047\013\052\014\053\056\054\042\055\032\056\043\057" +
-    "\126\060\171\061\255\062\026\065\175\066\006\067\062" +
-    "\070\061\071\160\072\057\073\143\074\114\075\052\076" +
-    "\020\077\165\100\004\101\164\102\016\103\024\104\151" +
-    "\105\025\106\073\107\121\110\162\111\104\112\130\113" +
-    "\120\115\115\116\035\117\064\120\147\121\145\122\027" +
-    "\123\072\001\001\000\002\001\001\000\020\003\137\005" +
-    "\041\006\111\007\150\021\253\022\260\035\257\001\001" +
-    "\000\002\001\001\000\002\001\001\000\170\003\137\005" +
-    "\041\006\111\007\150\010\173\021\102\023\063\025\010" +
-    "\026\031\032\135\036\157\037\161\040\167\041\053\042" +
-    "\136\043\077\044\163\045\176\046\127\047\013\052\014" +
-    "\053\056\054\042\055\032\056\043\057\126\060\171\061" +
-    "\262\062\026\065\175\066\006\067\062\070\061\071\160" +
-    "\072\057\073\143\074\114\075\052\076\020\077\165\100" +
-    "\004\101\164\102\016\103\024\104\151\105\025\106\073" +
-    "\107\121\110\162\111\104\112\130\113\120\115\115\116" +
-    "\035\117\064\120\147\121\145\122\027\123\072\001\001" +
-    "\000\002\001\001\000\002\001\001\000\170\003\137\005" +
-    "\041\006\111\007\150\010\173\021\102\023\063\025\010" +
-    "\026\031\032\135\036\157\037\161\040\167\041\053\042" +
-    "\136\043\077\044\163\045\176\046\127\047\013\052\014" +
-    "\053\056\054\042\055\032\056\043\057\126\060\171\061" +
-    "\265\062\026\065\175\066\006\067\062\070\061\071\160" +
-    "\072\057\073\143\074\114\075\052\076\020\077\165\100" +
-    "\004\101\164\102\016\103\024\104\151\105\025\106\073" +
-    "\107\121\110\162\111\104\112\130\113\120\115\115\116" +
-    "\035\117\064\120\147\121\145\122\027\123\072\001\001" +
-    "\000\002\001\001\000\016\003\137\005\041\006\111\007" +
-    "\150\021\253\022\267\001\001\000\002\001\001\000\170" +
-    "\003\137\005\041\006\111\007\150\010\173\021\102\023" +
-    "\063\025\010\026\031\032\135\036\157\037\161\040\167" +
-    "\041\053\042\136\043\077\044\163\045\176\046\127\047" +
-    "\013\052\014\053\056\054\042\055\032\056\043\057\126" +
-    "\060\171\061\271\062\026\065\175\066\006\067\062\070" +
-    "\061\071\160\072\057\073\143\074\114\075\052\076\020" +
-    "\077\165\100\004\101\164\102\016\103\024\104\151\105" +
-    "\025\106\073\107\121\110\162\111\104\112\130\113\120" +
-    "\115\115\116\035\117\064\120\147\121\145\122\027\123" +
-    "\072\001\001\000\002\001\001\000\002\001\001\000\172" +
-    "\003\137\005\041\006\111\007\150\010\173\021\102\023" +
-    "\063\025\010\026\031\032\135\033\274\036\157\037\161" +
-    "\040\167\041\053\042\136\043\077\044\163\045\176\046" +
-    "\127\047\013\052\014\053\056\054\042\055\032\056\043" +
-    "\057\126\060\171\061\074\062\026\065\175\066\006\067" +
-    "\062\070\061\071\160\072\057\073\143\074\114\075\052" +
-    "\076\020\077\165\100\004\101\164\102\016\103\024\104" +
-    "\151\105\025\106\073\107\121\110\162\111\104\112\130" +
-    "\113\120\115\115\116\035\117\064\120\147\121\145\122" +
-    "\027\123\072\001\001\000\002\001\001\000\002\001\001" +
-    "\000\170\003\137\005\041\006\111\007\150\010\173\021" +
-    "\102\023\063\025\010\026\031\032\135\036\157\037\161" +
-    "\040\167\041\053\042\136\043\077\044\163\045\176\046" +
-    "\127\047\013\052\014\053\056\054\042\055\032\056\043" +
-    "\057\126\060\171\061\277\062\026\065\175\066\006\067" +
-    "\062\070\061\071\160\072\057\073\143\074\114\075\052" +
-    "\076\020\077\165\100\004\101\164\102\016\103\024\104" +
-    "\151\105\025\106\073\107\121\110\162\111\104\112\130" +
-    "\113\120\115\115\116\035\117\064\120\147\121\145\122" +
-    "\027\123\072\001\001\000\002\001\001\000\170\003\137" +
-    "\005\041\006\111\007\150\010\173\021\102\023\063\025" +
-    "\010\026\031\032\135\036\157\037\161\040\167\041\053" +
-    "\042\136\043\077\044\163\045\176\046\127\047\013\052" +
-    "\014\053\056\054\042\055\032\056\043\057\126\060\171" +
-    "\061\301\062\026\065\175\066\006\067\062\070\061\071" +
-    "\160\072\057\073\143\074\114\075\052\076\020\077\165" +
-    "\100\004\101\164\102\016\103\024\104\151\105\025\106" +
-    "\073\107\121\110\162\111\104\112\130\113\120\115\115" +
-    "\116\035\117\064\120\147\121\145\122\027\123\072\001" +
-    "\001\000\002\001\001\000\002\001\001\000\020\003\137" +
-    "\005\041\006\111\007\150\016\307\017\306\021\310\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\016\003\137\005" +
-    "\041\006\111\007\150\013\313\021\314\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\006\005\323\010\327\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\006\004\371\005\372\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\116" +
-    "\003\137\005\041\006\111\007\150\010\173\021\102\023" +
-    "\063\025\010\026\031\032\135\037\161\040\167\041\053" +
-    "\042\136\043\077\044\163\045\377\071\160\072\057\073" +
-    "\143\074\114\075\052\076\020\077\165\100\004\101\164" +
-    "\102\016\103\024\104\151\105\025\106\073\107\121\110" +
-    "\162\111\104\112\130\113\120\122\027\123\072\001\001" +
-    "\000\116\003\137\005\041\006\111\007\150\010\173\021" +
-    "\102\023\063\025\010\026\031\032\135\037\161\040\167" +
-    "\041\053\042\136\043\077\044\163\045\376\071\160\072" +
-    "\057\073\143\074\114\075\052\076\020\077\165\100\004" +
-    "\101\164\102\016\103\024\104\151\105\025\106\073\107" +
-    "\121\110\162\111\104\112\130\113\120\122\027\123\072" +
-    "\001\001\000\002\001\001\000\002\001\001\000\142\003" +
-    "\137\005\041\006\111\007\150\010\173\021\102\023\063" +
-    "\025\010\026\031\032\135\037\161\040\167\041\053\042" +
-    "\136\043\077\044\163\045\176\046\127\047\013\052\014" +
-    "\053\056\054\042\055\032\056\u010b\060\171\071\160\072" +
-    "\057\073\143\074\114\075\052\076\020\077\165\100\004" +
-    "\101\164\102\016\103\024\104\151\105\025\106\073\107" +
-    "\121\110\162\111\104\112\130\113\120\120\147\121\145" +
-    "\122\027\123\072\001\001\000\142\003\137\005\041\006" +
-    "\111\007\150\010\173\021\102\023\063\025\010\026\031" +
-    "\032\135\037\161\040\167\041\053\042\136\043\077\044" +
-    "\163\045\176\046\127\047\013\052\014\053\056\054\042" +
-    "\055\032\056\u010a\060\171\071\160\072\057\073\143\074" +
-    "\114\075\052\076\020\077\165\100\004\101\164\102\016" +
-    "\103\024\104\151\105\025\106\073\107\121\110\162\111" +
-    "\104\112\130\113\120\120\147\121\145\122\027\123\072" +
-    "\001\001\000\142\003\137\005\041\006\111\007\150\010" +
-    "\173\021\102\023\063\025\010\026\031\032\135\037\161" +
-    "\040\167\041\053\042\136\043\077\044\163\045\176\046" +
-    "\127\047\013\052\014\053\056\054\042\055\032\056\u0109" +
-    "\060\171\071\160\072\057\073\143\074\114\075\052\076" +
-    "\020\077\165\100\004\101\164\102\016\103\024\104\151" +
-    "\105\025\106\073\107\121\110\162\111\104\112\130\113" +
-    "\120\120\147\121\145\122\027\123\072\001\001\000\142" +
-    "\003\137\005\041\006\111\007\150\010\173\021\102\023" +
-    "\063\025\010\026\031\032\135\037\161\040\167\041\053" +
-    "\042\136\043\077\044\163\045\176\046\127\047\013\052" +
-    "\014\053\056\054\042\055\032\056\u0104\060\171\071\160" +
-    "\072\057\073\143\074\114\075\052\076\020\077\165\100" +
-    "\004\101\164\102\016\103\024\104\151\105\025\106\073" +
-    "\107\121\110\162\111\104\112\130\113\120\120\147\121" +
-    "\145\122\027\123\072\001\001\000\002\001\001\000\140" +
-    "\003\137\005\041\006\111\007\150\010\173\021\102\023" +
-    "\063\025\010\026\031\032\135\037\161\040\167\041\053" +
-    "\042\136\043\077\044\163\045\176\046\127\047\013\052" +
-    "\014\053\056\054\042\055\032\060\u0108\071\160\072\057" +
-    "\073\143\074\114\075\052\076\020\077\165\100\004\101" +
-    "\164\102\016\103\024\104\151\105\025\106\073\107\121" +
-    "\110\162\111\104\112\130\113\120\120\147\121\145\122" +
-    "\027\123\072\001\001\000\140\003\137\005\041\006\111" +
-    "\007\150\010\173\021\102\023\063\025\010\026\031\032" +
-    "\135\037\161\040\167\041\053\042\136\043\077\044\163" +
-    "\045\176\046\127\047\013\052\014\053\056\054\042\055" +
-    "\032\060\u0107\071\160\072\057\073\143\074\114\075\052" +
-    "\076\020\077\165\100\004\101\164\102\016\103\024\104" +
-    "\151\105\025\106\073\107\121\110\162\111\104\112\130" +
-    "\113\120\120\147\121\145\122\027\123\072\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\004\005\u0110\001\001\000\002" +
-    "\001\001\000\016\003\137\005\041\006\111\007\150\021" +
-    "\253\022\u0112\001\001\000\002\001\001\000\170\003\137" +
-    "\005\041\006\111\007\150\010\173\021\102\023\063\025" +
-    "\010\026\031\032\135\036\157\037\161\040\167\041\053" +
-    "\042\136\043\077\044\163\045\176\046\127\047\013\052" +
-    "\014\053\056\054\042\055\032\056\043\057\126\060\171" +
-    "\061\u0114\062\026\065\175\066\006\067\062\070\061\071" +
-    "\160\072\057\073\143\074\114\075\052\076\020\077\165" +
-    "\100\004\101\164\102\016\103\024\104\151\105\025\106" +
-    "\073\107\121\110\162\111\104\112\130\113\120\115\115" +
-    "\116\035\117\064\120\147\121\145\122\027\123\072\001" +
-    "\001\000\002\001\001\000\172\003\137\005\041\006\111" +
-    "\007\150\010\173\021\102\023\063\025\010\026\031\031" +
-    "\u0116\032\135\036\157\037\161\040\167\041\053\042\136" +
-    "\043\077\044\163\045\176\046\127\047\013\052\014\053" +
-    "\056\054\042\055\032\056\043\057\126\060\171\061\u0117" +
-    "\062\026\065\175\066\006\067\062\070\061\071\160\072" +
-    "\057\073\143\074\114\075\052\076\020\077\165\100\004" +
-    "\101\164\102\016\103\024\104\151\105\025\106\073\107" +
-    "\121\110\162\111\104\112\130\113\120\115\115\116\035" +
-    "\117\064\120\147\121\145\122\027\123\072\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\170" +
-    "\003\137\005\041\006\111\007\150\010\173\021\102\023" +
-    "\063\025\010\026\031\032\135\036\157\037\161\040\167" +
-    "\041\053\042\136\043\077\044\163\045\176\046\127\047" +
-    "\013\052\014\053\056\054\042\055\032\056\043\057\126" +
-    "\060\171\061\u011b\062\026\065\175\066\006\067\062\070" +
-    "\061\071\160\072\057\073\143\074\114\075\052\076\020" +
-    "\077\165\100\004\101\164\102\016\103\024\104\151\105" +
-    "\025\106\073\107\121\110\162\111\104\112\130\113\120" +
-    "\115\115\116\035\117\064\120\147\121\145\122\027\123" +
-    "\072\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\004\124" +
-    "\212\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\150\003\137\005\041\006\111\007\150\010\173" +
-    "\021\102\023\063\025\010\026\031\032\135\037\161\040" +
-    "\167\041\053\042\136\043\077\044\163\045\176\046\127" +
-    "\047\013\052\014\053\056\054\042\055\032\056\043\057" +
-    "\126\060\171\062\026\067\u013c\071\160\072\057\073\143" +
-    "\074\114\075\052\076\020\077\165\100\004\101\164\102" +
-    "\016\103\024\104\151\105\025\106\073\107\121\110\162" +
-    "\111\104\112\130\113\120\120\147\121\145\122\027\123" +
-    "\072\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\150\003\137\005\041\006\111\007\150\010" +
-    "\173\021\102\023\063\025\010\026\031\032\135\037\161" +
-    "\040\167\041\053\042\136\043\077\044\163\045\176\046" +
-    "\127\047\013\052\014\053\056\054\042\055\032\056\043" +
-    "\057\126\060\171\062\026\067\u013b\071\160\072\057\073" +
-    "\143\074\114\075\052\076\020\077\165\100\004\101\164" +
-    "\102\016\103\024\104\151\105\025\106\073\107\121\110" +
-    "\162\111\104\112\130\113\120\120\147\121\145\122\027" +
-    "\123\072\001\001\000\150\003\137\005\041\006\111\007" +
-    "\150\010\173\021\102\023\063\025\010\026\031\032\135" +
-    "\037\161\040\167\041\053\042\136\043\077\044\163\045" +
-    "\176\046\127\047\013\052\014\053\056\054\042\055\032" +
-    "\056\043\057\126\060\171\062\026\067\u013a\071\160\072" +
-    "\057\073\143\074\114\075\052\076\020\077\165\100\004" +
-    "\101\164\102\016\103\024\104\151\105\025\106\073\107" +
-    "\121\110\162\111\104\112\130\113\120\120\147\121\145" +
-    "\122\027\123\072\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\046\003\137\005\041\006\111\007" +
-    "\150\020\u0143\021\u0146\030\u0140\051\u0142\072\u0141\103\024" +
-    "\104\151\105\025\106\073\107\121\110\162\111\104\112" +
-    "\130\113\120\001\001\000\004\024\u014c\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\020\003\137\005\041\006\111\007\150\015" +
-    "\u0150\017\u0151\021\310\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\020\003\137\005\041\006" +
-    "\111\007\150\011\u0154\014\u0155\021\u0156\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\004\124\212\001\001\000\020\003\137\005\041" +
-    "\006\111\007\150\012\u015c\014\u015d\021\u0156\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\016\003\137\005\041\006\111\007\150\013" +
-    "\u0160\021\314\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\020\003\137\005\041" +
-    "\006\111\007\150\021\253\022\260\035\u0167\001\001\000" +
-    "\002\001\001\000\170\003\137\005\041\006\111\007\150" +
-    "\010\173\021\102\023\063\025\010\026\031\032\135\036" +
-    "\157\037\161\040\167\041\053\042\136\043\077\044\163" +
-    "\045\176\046\127\047\013\052\014\053\056\054\042\055" +
-    "\032\056\043\057\126\060\171\061\u0169\062\026\065\175" +
-    "\066\006\067\062\070\061\071\160\072\057\073\143\074" +
-    "\114\075\052\076\020\077\165\100\004\101\164\102\016" +
-    "\103\024\104\151\105\025\106\073\107\121\110\162\111" +
-    "\104\112\130\113\120\115\115\116\035\117\064\120\147" +
-    "\121\145\122\027\123\072\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\020\003\137\005\041\006\111\007\150\020" +
-    "\u0170\021\u0146\050\u016f\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\146\003\137\005\041\006\111\007\150\010\173" +
-    "\021\102\023\063\025\010\026\031\032\135\037\161\040" +
-    "\167\041\053\042\136\043\077\044\163\045\176\046\127" +
-    "\047\013\052\014\053\056\054\042\055\032\056\043\057" +
-    "\126\060\171\062\u0179\071\160\072\057\073\143\074\114" +
-    "\075\052\076\020\077\165\100\004\101\164\102\016\103" +
-    "\024\104\151\105\025\106\073\107\121\110\162\111\104" +
-    "\112\130\113\120\120\147\121\145\122\027\123\072\001" +
-    "\001\000\144\003\137\005\041\006\111\007\150\010\173" +
-    "\021\102\023\063\025\010\026\031\032\135\037\161\040" +
-    "\167\041\053\042\136\043\077\044\163\045\176\046\127" +
-    "\047\013\052\014\053\056\054\042\055\032\056\043\057" +
-    "\u0178\060\171\071\160\072\057\073\143\074\114\075\052" +
-    "\076\020\077\165\100\004\101\164\102\016\103\024\104" +
-    "\151\105\025\106\073\107\121\110\162\111\104\112\130" +
-    "\113\120\120\147\121\145\122\027\123\072\001\001\000" +
-    "\144\003\137\005\041\006\111\007\150\010\173\021\102" +
-    "\023\063\025\010\026\031\032\135\037\161\040\167\041" +
-    "\053\042\136\043\077\044\163\045\176\046\127\047\013" +
-    "\052\014\053\056\054\042\055\032\056\043\057\u0177\060" +
-    "\171\071\160\072\057\073\143\074\114\075\052\076\020" +
-    "\077\165\100\004\101\164\102\016\103\024\104\151\105" +
-    "\025\106\073\107\121\110\162\111\104\112\130\113\120" +
-    "\120\147\121\145\122\027\123\072\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\006\111\u017f\113\u0180\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\046\003\137\005\041\006\111\007\150\020\u0143\021" +
-    "\u0146\030\u0140\051\u0188\072\u0141\103\024\104\151\105\025" +
-    "\106\073\107\121\110\162\111\104\112\130\113\120\001" +
-    "\001\000\002\001\001\000\002\001\001\000\020\003\137" +
-    "\005\041\006\111\007\150\020\u0170\021\u0146\050\u018b\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\154\003\137\005" +
-    "\041\006\111\007\150\010\173\021\102\023\063\025\010" +
-    "\026\031\032\135\037\161\040\167\041\053\042\136\043" +
-    "\077\044\163\045\176\046\127\047\013\052\014\053\056" +
-    "\054\042\055\032\056\043\057\126\060\171\062\026\065" +
-    "\u0191\067\062\070\061\071\160\072\057\073\143\074\114" +
-    "\075\052\076\020\077\165\100\004\101\164\102\016\103" +
-    "\024\104\151\105\025\106\073\107\121\110\162\111\104" +
-    "\112\130\113\120\120\147\121\145\122\027\123\072\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "" });
-
-  /** Access to <code>reduce_goto</code> table. */
-  public short[][] reduce_table() {return _reduce_table;}
-
-  /** Instance of action encapsulation class. */
-  protected CUP$XPathCup$actions action_obj;
-
-  /** Action encapsulation object initializer. */
-  protected void init_actions()
-    {
-      action_obj = new CUP$XPathCup$actions(this);
-    }
-
-  /** Invoke a user supplied parse action. */
-  public java_cup.runtime.Symbol do_action(
-    int                        act_num,
-    java_cup.runtime.lr_parser parser,
-    java.util.Stack            stack,
-    int                        top)
-    throws java.lang.Exception
-  {
-    /* call code in generated class */
-    return action_obj.CUP$XPathCup$do_action(act_num, parser, stack, top);
-  }
-
-  /** Indicates start state. */
-  public int start_state() {return 0;}
-  /** Indicates start production. */
-  public int start_production() {return 1;}
-
-  /** <code>EOF</code> Symbol index. */
-  public int EOF_sym() {return 0;}
-
-  /** <code>error</code> Symbol index. */
-  public int error_sym() {return 1;}
-
-
-
-
-public void report_error(String message, Object info) {
-	String err = "Parser error: ";
-
-	XPathFlex lexer = (XPathFlex) getScanner();
-
-	err += "line " + lexer.lineno();
-	err += " col " + lexer.colno();
-	err += ": " + lexer.yytext();
-
-	
-	throw new CupError(err);
-}
-
-}
-
-/** Cup generated class to encapsulate user supplied action code.*/
-class CUP$XPathCup$actions {
-  private final XPathCup parser;
-
-  /** Constructor */
-  CUP$XPathCup$actions(XPathCup parser) {
-    this.parser = parser;
-  }
-
-  /** Method with the actual generated action code. */
-  public final java_cup.runtime.Symbol CUP$XPathCup$do_action(
-    int                        CUP$XPathCup$act_num,
-    java_cup.runtime.lr_parser CUP$XPathCup$parser,
-    java.util.Stack            CUP$XPathCup$stack,
-    int                        CUP$XPathCup$top)
-    throws java.lang.Exception
-    {
-      /* Symbol object for return from actions */
-      java_cup.runtime.Symbol CUP$XPathCup$result;
-
-      /* select the action based on the action number */
-      switch (CUP$XPathCup$act_num)
-        {
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 270: // UnqualifiedNCName ::= MOD NT$0 STAR 
-            {
-              String RESULT = null;
-              // propagate RESULT from NT$0
-              if ( ((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value != null )
-                RESULT = (String) ((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("*"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 269: // NT$0 ::= 
-            {
-              Object RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("mod"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(83/*NT$0*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 268: // UnqualifiedNCName ::= IDIV 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("idiv"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 267: // UnqualifiedNCName ::= DIV 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("div"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 266: // UnqualifiedNCName ::= OR 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("or"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 265: // UnqualifiedNCName ::= AND 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("and"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 264: // UnqualifiedNCName ::= ELSE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("else"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 263: // UnqualifiedNCName ::= THEN 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("then"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 262: // UnqualifiedNCName ::= EVERY 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("every"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 261: // UnqualifiedNCName ::= SOME 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("some"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 260: // UnqualifiedNCName ::= SATISFIES 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("satisfies"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 259: // UnqualifiedNCName ::= RETURN 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("return"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 258: // UnqualifiedNCName ::= IN 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("in"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 257: // UnqualifiedNCName ::= FOR 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("for"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 256: // UnqualifiedNCName ::= IS 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("is"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 255: // UnqualifiedNCName ::= CAST 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("cast"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 254: // UnqualifiedNCName ::= CASTABLE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("castable"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 253: // UnqualifiedNCName ::= TREAT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("as"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 252: // UnqualifiedNCName ::= OF 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("of"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 251: // UnqualifiedNCName ::= INSTANCE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("instance"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 250: // UnqualifiedNCName ::= EXCEPT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("except"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 249: // UnqualifiedNCName ::= INTERSECT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("intersect"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 248: // UnqualifiedNCName ::= UNION 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("union"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 247: // UnqualifiedNCName ::= ANCESTOR_OR_SELF 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("ancestor-or-self"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 246: // UnqualifiedNCName ::= PRECEDING 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("preceding"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 245: // UnqualifiedNCName ::= PRECEDING_SIBLING 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT  = new String("preceding-sibling"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 244: // UnqualifiedNCName ::= ANCESTOR 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("ancestor"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 243: // UnqualifiedNCName ::= PARENT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("parent"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 242: // UnqualifiedNCName ::= NAMESPACE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("namespace"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 241: // UnqualifiedNCName ::= FOLLOWING 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("following"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 240: // UnqualifiedNCName ::= FOLLOWING_SIBLING 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("following-sibling"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 239: // UnqualifiedNCName ::= DESCENDANT_OR_SELF 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("descendant-of-self"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 238: // UnqualifiedNCName ::= SELF 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("self"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 237: // UnqualifiedNCName ::= DESCENDANT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("descendant"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 236: // UnqualifiedNCName ::= CHILD 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("child"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 235: // UnqualifiedNCName ::= TO 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("to"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 234: // UnqualifiedNCName ::= NCNAME 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 233: // NCName ::= STAR 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("*"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 232: // NCName ::= MOD 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("mod"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 231: // NCName ::= TYPESWITCH 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("typeswitch"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 230: // NCName ::= TEXT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("text"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 229: // NCName ::= SCHEMA_ELEMENT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("schema-element"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 228: // NCName ::= SCHEMA_ATTRIBUTE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("schema-attribute"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 227: // NCName ::= PROCESSING_INSTRUCTION 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("processing-instruction"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 226: // NCName ::= NODE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("node"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 225: // NCName ::= ITEM 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("item"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 224: // NCName ::= EMPTY_SEQUENCE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("empty-sequence"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 223: // NCName ::= ELEMENT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("element"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 222: // NCName ::= DOCUMENT_NODE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("document-node"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 221: // NCName ::= COMMENT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("comment"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 220: // NCName ::= IDIV 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("idiv"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 219: // NCName ::= DIV 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("div"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 218: // NCName ::= OR 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("or"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 217: // NCName ::= AND 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("and"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 216: // NCName ::= ELSE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("else"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 215: // NCName ::= THEN 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("then"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 214: // NCName ::= IF 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("if"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 213: // NCName ::= EVERY 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("every"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 212: // NCName ::= SOME 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("some"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 211: // NCName ::= SATISFIES 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("satisfies"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 210: // NCName ::= RETURN 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("return"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 209: // NCName ::= IN 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("in"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 208: // NCName ::= FOR 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("for"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 207: // NCName ::= IS 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("is"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 206: // NCName ::= CAST 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("cast"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 205: // NCName ::= CASTABLE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("castable"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 204: // NCName ::= TREAT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("as"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 203: // NCName ::= OF 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("of"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 202: // NCName ::= INSTANCE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("instance"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 201: // NCName ::= EXCEPT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("except"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 200: // NCName ::= INTERSECT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("intersect"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 199: // NCName ::= UNION 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("union"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 198: // NCName ::= ANCESTOR_OR_SELF 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("ancestor-or-self"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 197: // NCName ::= PRECEDING 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("preceding"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 196: // NCName ::= PRECEDING_SIBLING 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT  = new String("preceding-sibling"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 195: // NCName ::= ANCESTOR 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("ancestor"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 194: // NCName ::= PARENT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("parent"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 193: // NCName ::= NAMESPACE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("namespace"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 192: // NCName ::= FOLLOWING 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("following"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 191: // NCName ::= FOLLOWING_SIBLING 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("following-sibling"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 190: // NCName ::= DESCENDANT_OR_SELF 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("descendant-of-self"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 189: // NCName ::= SELF 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("self"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 188: // NCName ::= ATTRIBUTE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("attribute"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 187: // NCName ::= DESCENDANT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("descendant"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 186: // NCName ::= CHILD 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("child"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 185: // NCName ::= TO 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("to"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 184: // NCName ::= NCNAME 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 183: // UnqualifiedLocalPart ::= UnqualifiedNCName 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(5/*UnqualifiedLocalPart*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 182: // LocalPart ::= NCName 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*LocalPart*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 181: // Prefix ::= NCName 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*Prefix*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 180: // QName ::= Prefix COLON LocalPart 
-            {
-              QName RESULT = null;
-		int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		String p = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String l = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new QName(p,l); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(15/*QName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 179: // QName ::= UnqualifiedLocalPart 
-            {
-              QName RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String l = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new QName(l); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(15/*QName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 178: // VarName ::= QName 
-            {
-              QName RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(16/*VarName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 177: // StringLiteral ::= STRING 
-            {
-              StringLiteral RESULT = null;
-		int sleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int sright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String s = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new StringLiteral(s); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(6/*StringLiteral*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 176: // DoubleLiteral ::= DOUBLE 
-            {
-              DoubleLiteral RESULT = null;
-		int dleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int dright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Double d = (Double)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new DoubleLiteral(d.doubleValue()); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(64/*DoubleLiteral*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 175: // DecimalLiteral ::= DECIMAL 
-            {
-              DecimalLiteral RESULT = null;
-		int dleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int dright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		BigDecimal d = (BigDecimal)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new DecimalLiteral(d); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(62/*DecimalLiteral*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 174: // IntegerLiteral ::= INTEGER 
-            {
-              IntegerLiteral RESULT = null;
-		int ileft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int iright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		BigInteger i = (BigInteger)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new IntegerLiteral(i); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(63/*IntegerLiteral*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 173: // TypeName ::= QName 
-            {
-              QName RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(9/*TypeName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 172: // ElementName ::= QName 
-            {
-              QName RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(10/*ElementName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 171: // AttributeName ::= QName 
-            {
-              QName RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(13/*AttributeName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 170: // ElementDeclaration ::= ElementName 
-            {
-              QName RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(7/*ElementDeclaration*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 169: // SchemaElementTest ::= SCHEMA_ELEMENT LPAR ElementDeclaration RPAR 
-            {
-              SchemaElemTest RESULT = null;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		QName e = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		 RESULT = new SchemaElemTest(e); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(73/*SchemaElementTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 168: // ElementNameOrWildcard ::= STAR 
-            {
-              QName RESULT = null;
-		 RESULT = null; /* XXX */ 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(8/*ElementNameOrWildcard*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 167: // ElementNameOrWildcard ::= ElementName 
-            {
-              QName RESULT = null;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName e = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = e; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(8/*ElementNameOrWildcard*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 166: // ElementTest ::= ELEMENT LPAR ElementNameOrWildcard COMMA TypeName QUESTIONMARK RPAR 
-            {
-              ElementTest RESULT = null;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-4)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-4)).right;
-		QName e = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-4)).value;
-		int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		QName t = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		
-			     // XXX: wildcard!!
-			     boolean wild = false;
-			     if(e == null)
-			     	wild = true;
-				
-			     RESULT = new ElementTest(e,wild,t,true);
-			  
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(71/*ElementTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-6)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 165: // ElementTest ::= ELEMENT LPAR ElementNameOrWildcard COMMA TypeName RPAR 
-            {
-              ElementTest RESULT = null;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).right;
-		QName e = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).value;
-		int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		QName t = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		
-			     // XXX: wildcard!!
-			     boolean wild = false;
-			     if(e == null)
-			     	wild = true;
-				
-			     RESULT = new ElementTest(e,wild,t);
-			  
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(71/*ElementTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 164: // ElementTest ::= ELEMENT LPAR ElementNameOrWildcard RPAR 
-            {
-              ElementTest RESULT = null;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		QName e = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		
-			     // XXX: wildcard!!
-			     boolean wild = false;
-			     if(e == null)
-			     	wild = true;
-				
-			     RESULT = new ElementTest(e,wild);
-			  
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(71/*ElementTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 163: // ElementTest ::= ELEMENT LPAR RPAR 
-            {
-              ElementTest RESULT = null;
-		 RESULT = new ElementTest(); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(71/*ElementTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 162: // AttributeDeclaration ::= AttributeName 
-            {
-              QName RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(11/*AttributeDeclaration*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 161: // SchemaAttributeTest ::= SCHEMA_ATTRIBUTE LPAR AttributeDeclaration RPAR 
-            {
-              SchemaAttrTest RESULT = null;
-		int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		QName a = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		 RESULT = new SchemaAttrTest(a); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(72/*SchemaAttributeTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 160: // AttribNameOrWildcard ::= STAR 
-            {
-              QName RESULT = null;
-		 RESULT = null; /* XXX */ 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(12/*AttribNameOrWildcard*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 159: // AttribNameOrWildcard ::= AttributeName 
-            {
-              QName RESULT = null;
-		int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName a = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = a; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(12/*AttribNameOrWildcard*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 158: // AttributeTest ::= ATTRIBUTE LPAR AttribNameOrWildcard COMMA TypeName RPAR 
-            {
-              AttributeTest RESULT = null;
-		int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left;
-		int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).right;
-		QName a = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).value;
-		int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		QName t = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		
-			     // XXX: wildcard!!
-			     boolean wild = false;
-			     if(a == null)
-			     	wild = true;
-				
-			     RESULT = new AttributeTest(a,wild,t);
-			  
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(69/*AttributeTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 157: // AttributeTest ::= ATTRIBUTE LPAR AttribNameOrWildcard RPAR 
-            {
-              AttributeTest RESULT = null;
-		int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		QName a = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		
-			     // XXX: wildcard!!
-			     boolean wild = false;
-			     if(a == null)
-			     	wild = true;
-				
-			     RESULT = new AttributeTest(a,wild);
-			  
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(69/*AttributeTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 156: // AttributeTest ::= ATTRIBUTE LPAR RPAR 
-            {
-              AttributeTest RESULT = null;
-		 RESULT = new AttributeTest(); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(69/*AttributeTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 155: // PITest ::= PROCESSING_INSTRUCTION LPAR StringLiteral RPAR 
-            {
-              PITest RESULT = null;
-		int sleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int sright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		StringLiteral s = (StringLiteral)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		 RESULT = new PITest(s.string()); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(68/*PITest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 154: // PITest ::= PROCESSING_INSTRUCTION LPAR NCName RPAR 
-            {
-              PITest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		 RESULT = new PITest(n); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(68/*PITest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 153: // PITest ::= PROCESSING_INSTRUCTION LPAR RPAR 
-            {
-              PITest RESULT = null;
-		 RESULT = new PITest(); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(68/*PITest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 152: // CommentTest ::= COMMENT LPAR RPAR 
-            {
-              CommentTest RESULT = null;
-		 RESULT = new CommentTest(); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(67/*CommentTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 151: // TextTest ::= TEXT LPAR RPAR 
-            {
-              TextTest RESULT = null;
-		 RESULT = new TextTest(); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(66/*TextTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 150: // DocumentTest ::= DOCUMENT_NODE LPAR SchemaElementTest RPAR 
-            {
-              DocumentTest RESULT = null;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		SchemaElemTest e = (SchemaElemTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		 RESULT = new DocumentTest(DocumentTest.SCHEMA_ELEMENT,e); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(65/*DocumentTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 149: // DocumentTest ::= DOCUMENT_NODE LPAR ElementTest RPAR 
-            {
-              DocumentTest RESULT = null;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		ElementTest e = (ElementTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		 RESULT = new DocumentTest(DocumentTest.ELEMENT,e); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(65/*DocumentTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 148: // DocumentTest ::= DOCUMENT_NODE LPAR RPAR 
-            {
-              DocumentTest RESULT = null;
-		 RESULT = new DocumentTest(); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(65/*DocumentTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 147: // AnyKindTest ::= NODE LPAR RPAR 
-            {
-              AnyKindTest RESULT = null;
-		 RESULT = new AnyKindTest(); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(70/*AnyKindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 146: // KindTest ::= AnyKindTest 
-            {
-              KindTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		AnyKindTest n = (AnyKindTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 145: // KindTest ::= TextTest 
-            {
-              KindTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		TextTest n = (TextTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 144: // KindTest ::= CommentTest 
-            {
-              KindTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		CommentTest n = (CommentTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 143: // KindTest ::= PITest 
-            {
-              KindTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		PITest n = (PITest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 142: // KindTest ::= SchemaAttributeTest 
-            {
-              KindTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		SchemaAttrTest n = (SchemaAttrTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 141: // KindTest ::= SchemaElementTest 
-            {
-              KindTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		SchemaElemTest n = (SchemaElemTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 140: // KindTest ::= AttributeTest 
-            {
-              KindTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		AttributeTest n = (AttributeTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 139: // KindTest ::= ElementTest 
-            {
-              KindTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		ElementTest n = (ElementTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 138: // KindTest ::= DocumentTest 
-            {
-              KindTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		DocumentTest n = (DocumentTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 137: // AtomicType ::= QName 
-            {
-              QName RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(14/*AtomicType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 136: // ItemType ::= ITEM LPAR RPAR 
-            {
-              ItemType RESULT = null;
-		 RESULT = new ItemType(ItemType.ITEM,null); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(22/*ItemType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 135: // ItemType ::= KindTest 
-            {
-              ItemType RESULT = null;
-		int kleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int kright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		KindTest k = (KindTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new ItemType(ItemType.KINDTEST,k); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(22/*ItemType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 134: // ItemType ::= AtomicType 
-            {
-              ItemType RESULT = null;
-		int qleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int qright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName q = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new ItemType(ItemType.QNAME,q); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(22/*ItemType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 133: // OccurrenceIndicator ::= PLUS 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(SequenceType.PLUS); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(18/*OccurrenceIndicator*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 132: // OccurrenceIndicator ::= STAR 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(SequenceType.STAR); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(18/*OccurrenceIndicator*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 131: // OccurrenceIndicator ::= QUESTIONMARK 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(SequenceType.QUESTION); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(18/*OccurrenceIndicator*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 130: // SequenceType ::= EMPTY_SEQUENCE LPAR RPAR 
-            {
-              SequenceType RESULT = null;
-		 RESULT = new SequenceType(SequenceType.EMPTY, null); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(39/*SequenceType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 129: // SequenceType ::= ItemType OccurrenceIndicator 
-            {
-              SequenceType RESULT = null;
-		int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		ItemType t = (ItemType)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		int ileft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int iright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Integer i = (Integer)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new SequenceType(i.intValue(), t); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(39/*SequenceType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 128: // SequenceType ::= ItemType 
-            {
-              SequenceType RESULT = null;
-		int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		ItemType t = (ItemType)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new SequenceType(SequenceType.NONE, t); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(39/*SequenceType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 127: // SingleType ::= AtomicType QUESTIONMARK 
-            {
-              SingleType RESULT = null;
-		int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		QName t = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		 RESULT = new SingleType(t,true); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(38/*SingleType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 126: // SingleType ::= AtomicType 
-            {
-              SingleType RESULT = null;
-		int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName t = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new SingleType(t); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(38/*SingleType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 125: // FunctionCallMiddle ::= FunctionCallMiddle COMMA ExprSingle 
-            {
-              Collection RESULT = null;
-		int cleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int cright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Collection c = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-			   c.add(e);
-			   RESULT = c;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(23/*FunctionCallMiddle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 124: // FunctionCallMiddle ::= ExprSingle 
-            {
-              Collection RESULT = null;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-			   Collection c = new ArrayList();
-			   c.add(e);
-			   RESULT = c;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(23/*FunctionCallMiddle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 123: // FunctionCall ::= QName LPAR FunctionCallMiddle RPAR 
-            {
-              FunctionCall RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).right;
-		QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).value;
-		int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		Collection a = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		
-			   RESULT = new FunctionCall(n,a);
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(60/*FunctionCall*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 122: // FunctionCall ::= QName LPAR RPAR 
-            {
-              FunctionCall RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		
-			   RESULT = new FunctionCall(n,new ArrayList());
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(60/*FunctionCall*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 121: // ContextItemExpr ::= DOT 
-            {
-              CntxItemExpr RESULT = null;
-		 RESULT = new CntxItemExpr(); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(59/*ContextItemExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 120: // ParenthesizedExpr ::= LPAR Expr RPAR 
-            {
-              Collection RESULT = null;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		Collection e = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		 RESULT = e; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(24/*ParenthesizedExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 119: // ParenthesizedExpr ::= LPAR RPAR 
-            {
-              Collection RESULT = null;
-		 RESULT = new ArrayList(); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(24/*ParenthesizedExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 118: // VarRef ::= DOLLAR VarName 
-            {
-              VarRef RESULT = null;
-		int vleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int vright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName v = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new VarRef(v); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(58/*VarRef*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 117: // NumericLiteral ::= DoubleLiteral 
-            {
-              NumericLiteral RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		DoubleLiteral n = (DoubleLiteral)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(61/*NumericLiteral*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 116: // NumericLiteral ::= DecimalLiteral 
-            {
-              NumericLiteral RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		DecimalLiteral n = (DecimalLiteral)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(61/*NumericLiteral*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 115: // NumericLiteral ::= IntegerLiteral 
-            {
-              NumericLiteral RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		IntegerLiteral n = (IntegerLiteral)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(61/*NumericLiteral*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 114: // Literal ::= StringLiteral 
-            {
-              Literal RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		StringLiteral n = (StringLiteral)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(57/*Literal*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 113: // Literal ::= NumericLiteral 
-            {
-              Literal RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		NumericLiteral n = (NumericLiteral)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(57/*Literal*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 112: // PrimaryExpr ::= FunctionCall 
-            {
-              PrimaryExpr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		FunctionCall n = (FunctionCall)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(29/*PrimaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 111: // PrimaryExpr ::= ContextItemExpr 
-            {
-              PrimaryExpr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		CntxItemExpr n = (CntxItemExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(29/*PrimaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 110: // PrimaryExpr ::= ParenthesizedExpr 
-            {
-              PrimaryExpr RESULT = null;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Collection e = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new ParExpr(e); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(29/*PrimaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 109: // PrimaryExpr ::= VarRef 
-            {
-              PrimaryExpr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		VarRef n = (VarRef)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(29/*PrimaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 108: // PrimaryExpr ::= Literal 
-            {
-              PrimaryExpr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Literal n = (Literal)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(29/*PrimaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 107: // Predicate ::= LBRACKET Expr RBRACKET 
-            {
-              Collection RESULT = null;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		Collection e = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		 RESULT = e; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(82/*Predicate*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 106: // PredicateList ::= 
-            {
-              Collection RESULT = null;
-		 RESULT = new ArrayList(); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(26/*PredicateList*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 105: // PredicateList ::= PredicateList Predicate 
-            {
-              Collection RESULT = null;
-		int cleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int cright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		Collection c = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Collection p = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-			   c.add(p);
-			   RESULT = c;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(26/*PredicateList*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 104: // FilterExpr ::= PrimaryExpr PredicateList 
-            {
-              FilterExpr RESULT = null;
-		int peleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int peright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		PrimaryExpr pe = (PrimaryExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Collection e = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new FilterExpr(pe, e); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(81/*FilterExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 103: // Wildcard ::= STAR COLON NCName 
-            {
-              QName RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new QName("*", n); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(17/*Wildcard*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 102: // Wildcard ::= STAR 
-            {
-              QName RESULT = null;
-		 RESULT = new QName("*","*"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(17/*Wildcard*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 101: // NameTest ::= Wildcard 
-            {
-              NameTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new NameTest(n); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(55/*NameTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 100: // NameTest ::= QName 
-            {
-              NameTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new NameTest(n); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(55/*NameTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 99: // NodeTest ::= NameTest 
-            {
-              NodeTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		NameTest n = (NameTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(30/*NodeTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 98: // NodeTest ::= KindTest 
-            {
-              NodeTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		KindTest n = (KindTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(30/*NodeTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 97: // AbbrevReverseStep ::= DOTDOT 
-            {
-              ReverseStep RESULT = null;
-		 RESULT = new ReverseStep(ReverseStep.DOTDOT,null); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(32/*AbbrevReverseStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 96: // ReverseAxis ::= ANCESTOR_OR_SELF COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ReverseStep.ANCESTOR_OR_SELF); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(19/*ReverseAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 95: // ReverseAxis ::= PRECEDING COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ReverseStep.PRECEDING); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(19/*ReverseAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 94: // ReverseAxis ::= PRECEDING_SIBLING COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ReverseStep.PRECEDING_SIBLING); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(19/*ReverseAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 93: // ReverseAxis ::= ANCESTOR COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ReverseStep.ANCESTOR); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(19/*ReverseAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 92: // ReverseAxis ::= PARENT COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ReverseStep.PARENT); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(19/*ReverseAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 91: // ReverseStep ::= AbbrevReverseStep 
-            {
-              ReverseStep RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		ReverseStep n = (ReverseStep)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(31/*ReverseStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 90: // ReverseStep ::= ReverseAxis NodeTest 
-            {
-              ReverseStep RESULT = null;
-		int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		Integer a = (Integer)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		NodeTest n = (NodeTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		  RESULT = new ReverseStep(a.intValue(), n); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(31/*ReverseStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 89: // AbbrevForwardStep ::= NodeTest 
-            {
-              ForwardStep RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		NodeTest n = (NodeTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new ForwardStep(ForwardStep.NONE, n); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(34/*AbbrevForwardStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 88: // AbbrevForwardStep ::= AT_SYM NodeTest 
-            {
-              ForwardStep RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		NodeTest n = (NodeTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new ForwardStep(ForwardStep.AT_SYM, n); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(34/*AbbrevForwardStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 87: // ForwardAxis ::= NAMESPACE COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ForwardStep.NAMESPACE); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 86: // ForwardAxis ::= FOLLOWING COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ForwardStep.FOLLOWING); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 85: // ForwardAxis ::= FOLLOWING_SIBLING COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ForwardStep.FOLLOWING_SIBLING); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 84: // ForwardAxis ::= DESCENDANT_OR_SELF COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ForwardStep.DESCENDANT_OR_SELF); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 83: // ForwardAxis ::= SELF COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ForwardStep.SELF); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 82: // ForwardAxis ::= ATTRIBUTE COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ForwardStep.ATTRIBUTE); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 81: // ForwardAxis ::= DESCENDANT COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ForwardStep.DESCENDANT); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 80: // ForwardAxis ::= CHILD COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ForwardStep.CHILD); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 79: // ForwardStep ::= AbbrevForwardStep 
-            {
-              ForwardStep RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		ForwardStep n = (ForwardStep)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(33/*ForwardStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 78: // ForwardStep ::= ForwardAxis NodeTest 
-            {
-              ForwardStep RESULT = null;
-		int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		Integer a = (Integer)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		NodeTest n = (NodeTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new ForwardStep(a.intValue(),n); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(33/*ForwardStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 77: // AxisStep ::= ReverseStep PredicateList 
-            {
-              AxisStep RESULT = null;
-		int sleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int sright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		ReverseStep s = (ReverseStep)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Collection p = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new AxisStep(s, p); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(80/*AxisStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 76: // AxisStep ::= ForwardStep PredicateList 
-            {
-              AxisStep RESULT = null;
-		int sleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int sright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		ForwardStep s = (ForwardStep)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Collection p = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new AxisStep(s, p); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(80/*AxisStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 75: // StepExpr ::= FilterExpr 
-            {
-              StepExpr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		FilterExpr n = (FilterExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(35/*StepExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 74: // StepExpr ::= AxisStep 
-            {
-              StepExpr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		AxisStep n = (AxisStep)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(35/*StepExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 73: // RelativePathExpr ::= RelativePathExpr FORWARD_SLASHSLASH StepExpr 
-            {
-              XPathExpr RESULT = null;
-		int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		XPathExpr p = (XPathExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int sleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int sright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		StepExpr s = (StepExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-				p.add_tail(2,s);
-				RESULT = p;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(36/*RelativePathExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 72: // RelativePathExpr ::= RelativePathExpr FORWARD_SLASH StepExpr 
-            {
-              XPathExpr RESULT = null;
-		int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		XPathExpr p = (XPathExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int sleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int sright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		StepExpr s = (StepExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-				p.add_tail(1,s);
-				RESULT = p;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(36/*RelativePathExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 71: // RelativePathExpr ::= StepExpr 
-            {
-              XPathExpr RESULT = null;
-		int sleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int sright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		StepExpr s = (StepExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new XPathExpr(0,(StepExpr)s); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(36/*RelativePathExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 70: // PathExpr ::= RelativePathExpr 
-            {
-              XPathExpr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		XPathExpr n = (XPathExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(78/*PathExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 69: // PathExpr ::= FORWARD_SLASHSLASH RelativePathExpr 
-            {
-              XPathExpr RESULT = null;
-		int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		XPathExpr p = (XPathExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-				p.set_slashes(2);
-				RESULT = p;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(78/*PathExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 68: // PathExpr ::= FORWARD_SLASH RelativePathExpr 
-            {
-              XPathExpr RESULT = null;
-		int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		XPathExpr p = (XPathExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-				p.set_slashes(1);
-				RESULT = p;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(78/*PathExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 67: // PathExpr ::= FORWARD_SLASH 
-            {
-              XPathExpr RESULT = null;
-		 RESULT = new XPathExpr(1,null); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(78/*PathExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 66: // NodeComp ::= GREATER_GREATER 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.GREATER_GREATER); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(21/*NodeComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 65: // NodeComp ::= LESS_LESS 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.LESS_LESS); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(21/*NodeComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 64: // NodeComp ::= IS 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.IS); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(21/*NodeComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 63: // ValueComp ::= GE 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.GE); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(50/*ValueComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 62: // ValueComp ::= GT 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.GT); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(50/*ValueComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 61: // ValueComp ::= LE 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.LE); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(50/*ValueComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 60: // ValueComp ::= LT 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.LT); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(50/*ValueComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 59: // ValueComp ::= NE 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.NE); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(50/*ValueComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 58: // ValueComp ::= EQ 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.EQ); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(50/*ValueComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 57: // GeneralComp ::= GREATEREQUAL 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.GREATEREQUAL); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(49/*GeneralComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 56: // GeneralComp ::= GREATER 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.GREATER); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(49/*GeneralComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 55: // GeneralComp ::= LESSEQUAL 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.LESSEQUAL); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(49/*GeneralComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 54: // GeneralComp ::= LESSTHAN 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.LESSTHAN); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(49/*GeneralComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 53: // GeneralComp ::= NOTEQUALS 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.NOTEQUALS); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(49/*GeneralComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 52: // GeneralComp ::= EQUALS 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.EQUALS); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(49/*GeneralComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 51: // ValueExpr ::= PathExpr 
-            {
-              XPathExpr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		XPathExpr n = (XPathExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(79/*ValueExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 50: // UnaryExpr ::= PLUS UnaryExpr 
-            {
-              Expr RESULT = null;
-		int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr a = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new PlusExpr(a); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(37/*UnaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 49: // UnaryExpr ::= MINUS UnaryExpr 
-            {
-              Expr RESULT = null;
-		int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr a = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new MinusExpr(a); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(37/*UnaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 48: // UnaryExpr ::= ValueExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		XPathExpr n = (XPathExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(37/*UnaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 47: // CastExpr ::= UnaryExpr CAST AS SingleType 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		SingleType r = (SingleType)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new CastExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(43/*CastExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 46: // CastExpr ::= UnaryExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(43/*CastExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 45: // CastableExpr ::= CastExpr CASTABLE AS SingleType 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		SingleType r = (SingleType)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new CastableExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(41/*CastableExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 44: // CastableExpr ::= CastExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(41/*CastableExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 43: // TreatExpr ::= CastableExpr TREAT AS SequenceType 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		SequenceType r = (SequenceType)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new TreatAsExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(40/*TreatExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 42: // TreatExpr ::= CastableExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(40/*TreatExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 41: // InstanceofExpr ::= TreatExpr INSTANCE OF SequenceType 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		SequenceType r = (SequenceType)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new InstOfExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(42/*InstanceofExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 40: // InstanceofExpr ::= TreatExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(42/*InstanceofExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 39: // IntersectExceptExpr ::= IntersectExceptExpr EXCEPT InstanceofExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new ExceptExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(46/*IntersectExceptExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 38: // IntersectExceptExpr ::= IntersectExceptExpr INTERSECT InstanceofExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new IntersectExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(46/*IntersectExceptExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 37: // IntersectExceptExpr ::= InstanceofExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(46/*IntersectExceptExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 36: // UnionExpr ::= UnionExpr PIPE IntersectExceptExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new PipeExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(44/*UnionExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 35: // UnionExpr ::= UnionExpr UNION IntersectExceptExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new UnionExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(44/*UnionExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 34: // UnionExpr ::= IntersectExceptExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(44/*UnionExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 33: // MultiplicativeExpr ::= MultiplicativeExpr MOD UnionExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new ModExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(45/*MultiplicativeExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 32: // MultiplicativeExpr ::= MultiplicativeExpr IDIV UnionExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new IDivExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(45/*MultiplicativeExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 31: // MultiplicativeExpr ::= MultiplicativeExpr DIV UnionExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new DivExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(45/*MultiplicativeExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 30: // MultiplicativeExpr ::= MultiplicativeExpr STAR UnionExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new MulExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(45/*MultiplicativeExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 29: // MultiplicativeExpr ::= UnionExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(45/*MultiplicativeExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 28: // AdditiveExpr ::= AdditiveExpr MINUS MultiplicativeExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new SubExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(48/*AdditiveExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 27: // AdditiveExpr ::= AdditiveExpr PLUS MultiplicativeExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new AddExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(48/*AdditiveExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 26: // AdditiveExpr ::= MultiplicativeExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(48/*AdditiveExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 25: // RangeExpr ::= AdditiveExpr TO AdditiveExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new RangeExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(53/*RangeExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 24: // RangeExpr ::= AdditiveExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(53/*RangeExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 23: // ComparisonExpr ::= RangeExpr NodeComp RangeExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		Integer t = (Integer)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new CmpExpr(l, r, t.intValue()); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(54/*ComparisonExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 22: // ComparisonExpr ::= RangeExpr GeneralComp RangeExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		Integer t = (Integer)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new CmpExpr(l, r, t.intValue()); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(54/*ComparisonExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 21: // ComparisonExpr ::= RangeExpr ValueComp RangeExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		Integer t = (Integer)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new CmpExpr(l, r, t.intValue()); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(54/*ComparisonExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 20: // ComparisonExpr ::= RangeExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(54/*ComparisonExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 19: // AndExpr ::= AndExpr AND ComparisonExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new AndExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(51/*AndExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 18: // AndExpr ::= ComparisonExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(51/*AndExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 17: // OrExpr ::= OrExpr OR AndExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new OrExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(52/*OrExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 16: // OrExpr ::= AndExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(52/*OrExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 15: // IfExpr ::= IF LPAR Expr RPAR THEN ExprSingle ELSE ExprSingle 
-            {
-              IfExpr RESULT = null;
-		int expsleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).left;
-		int expsright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).right;
-		Collection exps = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).value;
-		int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr t = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new IfExpr(exps, t, e); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(77/*IfExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-7)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 14: // QuantifiedExprMiddle ::= QuantifiedExprMiddle COMMA DOLLAR VarName IN ExprSingle 
-            {
-              Collection RESULT = null;
-		int psleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).left;
-		int psright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).right;
-		Collection ps = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).value;
-		int vleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int vright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		QName v = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-				VarExprPair p = new VarExprPair(v,e);
-				ps.add(p);
-				RESULT = ps;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(27/*QuantifiedExprMiddle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 13: // QuantifiedExprMiddle ::= VarName IN ExprSingle 
-            {
-              Collection RESULT = null;
-		int vleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int vright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		QName v = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-				Collection pairs = new ArrayList();
-				VarExprPair p = new VarExprPair(v,e);
-				pairs.add(p);
-				RESULT = pairs;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(27/*QuantifiedExprMiddle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 12: // QuantifiedExpr ::= EVERY DOLLAR QuantifiedExprMiddle SATISFIES ExprSingle 
-            {
-              QuantifiedExpr RESULT = null;
-		int pairsleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int pairsright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Collection pairs = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-				QuantifiedExpr qe = new QuantifiedExpr(QuantifiedExpr.ALL,
-								       pairs, e);
-				RESULT = qe;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(76/*QuantifiedExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-4)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 11: // QuantifiedExpr ::= SOME DOLLAR QuantifiedExprMiddle SATISFIES ExprSingle 
-            {
-              QuantifiedExpr RESULT = null;
-		int pairsleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int pairsright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Collection pairs = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-				QuantifiedExpr qe = new QuantifiedExpr(QuantifiedExpr.SOME,
-								       pairs, e);
-				RESULT = qe;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(76/*QuantifiedExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-4)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 10: // SimpleForClause ::= SimpleForClause COMMA DOLLAR VarName IN ExprSingle 
-            {
-              Collection RESULT = null;
-		int psleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).left;
-		int psright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).right;
-		Collection ps = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).value;
-		int vleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int vright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		QName v = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-				VarExprPair p = new VarExprPair(v,e);
-				ps.add(p);
-				RESULT = ps;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(28/*SimpleForClause*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 9: // SimpleForClause ::= FOR DOLLAR VarName IN ExprSingle 
-            {
-              Collection RESULT = null;
-		int vleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int vright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		QName v = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-				Collection pairs = new ArrayList();
-				VarExprPair p = new VarExprPair(v,e);
-				pairs.add(p);
-				RESULT = pairs;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(28/*SimpleForClause*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-4)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 8: // ForExpr ::= SimpleForClause RETURN ExprSingle 
-            {
-              ForExpr RESULT = null;
-		int pairsleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int pairsright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Collection pairs = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-				ForExpr fexp = new ForExpr(pairs,e);
-				RESULT = fexp;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(75/*ForExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 7: // ExprSingle ::= OrExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(47/*ExprSingle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 6: // ExprSingle ::= IfExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		IfExpr n = (IfExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(47/*ExprSingle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 5: // ExprSingle ::= QuantifiedExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QuantifiedExpr n = (QuantifiedExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(47/*ExprSingle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 4: // ExprSingle ::= ForExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		ForExpr n = (ForExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(47/*ExprSingle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 3: // Expr ::= Expr COMMA ExprSingle 
-            {
-              Collection RESULT = null;
-		int exprsleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int exprsright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Collection exprs = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int exleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int exright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr ex = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 
-				exprs.add(ex);
-				RESULT = exprs;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(25/*Expr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 2: // Expr ::= ExprSingle 
-            {
-              Collection RESULT = null;
-		int exleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int exright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr ex = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 
-				Collection exps = new ArrayList();
-				exps.add(ex);
-				RESULT = exps;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(25/*Expr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 1: // $START ::= XPath EOF 
-            {
-              Object RESULT = null;
-		int start_valleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int start_valright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		XPath start_val = (XPath)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		RESULT = start_val;
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(0/*$START*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          /* ACCEPT */
-          CUP$XPathCup$parser.done_parsing();
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 0: // XPath ::= Expr 
-            {
-              XPath RESULT = null;
-		int expsleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int expsright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Collection exps = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new XPath(exps); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(74/*XPath*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /* . . . . . .*/
-          default:
-            throw new Exception(
-               "Invalid action number found in internal parse table");
-
-        }
-    }
-}
-
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/XpathSym.java b/bundles/org.eclipse.wst.xml.xpath2.processor/XpathSym.java
deleted file mode 100644
index 402cc82..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/XpathSym.java
+++ /dev/null
@@ -1,101 +0,0 @@
-
-//----------------------------------------------------
-// The following code was generated by CUP v0.10k
-// Mon Dec 14 02:02:22 CET 2009
-//----------------------------------------------------
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-/** CUP generated class containing symbol constants. */
-public class XpathSym {
-  /* terminals */
-  public static final int DESCENDANT_OR_SELF = 32;
-  public static final int AS = 56;
-  public static final int GT = 45;
-  public static final int FOLLOWING = 34;
-  public static final int FORWARD_SLASHSLASH = 19;
-  public static final int PARENT = 36;
-  public static final int GE = 46;
-  public static final int DOCUMENT_NODE = 75;
-  public static final int NAMESPACE = 35;
-  public static final int FORWARD_SLASH = 18;
-  public static final int TREAT = 55;
-  public static final int NODE = 74;
-  public static final int COMMA = 24;
-  public static final int ANCESTOR = 37;
-  public static final int LT = 43;
-  public static final int INTEGER = 83;
-  public static final int DOUBLE = 84;
-  public static final int CHILD = 28;
-  public static final int FOLLOWING_SIBLING = 33;
-  public static final int EVERY = 66;
-  public static final int SELF = 31;
-  public static final int LE = 44;
-  public static final int ELEMENT = 80;
-  public static final int TEXT = 76;
-  public static final int INSTANCE = 53;
-  public static final int NOTEQUALS = 11;
-  public static final int THEN = 68;
-  public static final int SCHEMA_ELEMENT = 81;
-  public static final int SCHEMA_ATTRIBUTE = 79;
-  public static final int ANCESTOR_OR_SELF = 40;
-  public static final int EQ = 41;
-  public static final int PRECEDING = 39;
-  public static final int MOD = 49;
-  public static final int AT_SYM = 21;
-  public static final int DOLLAR = 25;
-  public static final int EXCEPT = 52;
-  public static final int LESSTHAN = 12;
-  public static final int PIPE = 9;
-  public static final int LESSEQUAL = 13;
-  public static final int QUESTIONMARK = 27;
-  public static final int PLUS = 6;
-  public static final int IDIV = 48;
-  public static final int LPAR = 4;
-  public static final int UNION = 50;
-  public static final int GREATEREQUAL = 15;
-  public static final int DECIMAL = 85;
-  public static final int FOR = 60;
-  public static final int STAR = 8;
-  public static final int GREATER = 14;
-  public static final int PRECEDING_SIBLING = 38;
-  public static final int DIV = 47;
-  public static final int RETURN = 62;
-  public static final int ELSE = 69;
-  public static final int DOTDOT = 22;
-  public static final int DOT = 26;
-  public static final int EOF = 0;
-  public static final int NCNAME = 87;
-  public static final int COMMENT = 77;
-  public static final int INTERSECT = 51;
-  public static final int RPAR = 5;
-  public static final int ITEM = 73;
-  public static final int EMPTY_SEQUENCE = 72;
-  public static final int CASTABLE = 57;
-  public static final int IS = 59;
-  public static final int MINUS = 7;
-  public static final int PROCESSING_INSTRUCTION = 78;
-  public static final int IN = 61;
-  public static final int OR = 71;
-  public static final int error = 1;
-  public static final int ATTRIBUTE = 30;
-  public static final int IF = 67;
-  public static final int TYPESWITCH = 82;
-  public static final int CAST = 58;
-  public static final int OF = 54;
-  public static final int COLON = 23;
-  public static final int DESCENDANT = 29;
-  public static final int SOME = 65;
-  public static final int RBRACKET = 3;
-  public static final int COLONCOLON = 20;
-  public static final int GREATER_GREATER = 17;
-  public static final int STRING = 86;
-  public static final int SATISFIES = 63;
-  public static final int AND = 70;
-  public static final int TO = 64;
-  public static final int LBRACKET = 2;
-  public static final int NE = 42;
-  public static final int LESS_LESS = 16;
-  public static final int EQUALS = 10;
-}
-
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/about.html b/bundles/org.eclipse.wst.xml.xpath2.processor/about.html
deleted file mode 100644
index ed30003..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>August, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/build.properties b/bundles/org.eclipse.wst.xml.xpath2.processor/build.properties
deleted file mode 100644
index 750800d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = META-INF/,\
-               bin/,\
-               .
-src.includes = build.properties
-source.. = src/
-output.. = bin/
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/build.xml b/bundles/org.eclipse.wst.xml.xpath2.processor/build.xml
deleted file mode 100644
index 7c3fb18..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/build.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<!--
- *******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver - initial API and implementation
- *     Jesper S Moller - bug 283214 - fix IF THEN ELSE parsing and update grammars 
- *******************************************************************************/
-
--->
-<project name="proj1" default="generate_parser" basedir=".">
-    <property name="src" location="${basedir}"/>   
-    <property name="cupJar" location="${basedir}/lib/javacup10.jar"/>
-    <description>
-    Build File for Compiler Project
-</description>
-
-	<taskdef classname="JFlex.anttask.JFlexTask" name="jflex" classpath="${basedir}/lib/JFlex.jar" />
-
-	<target name="generate_parser">
-		<jflex file="grammars/xpath.lex" destdir="grammars/generated"/>
-	    <java jar="${cupJar}" input="grammars/xpath.cup" output="${basedir}/state-dump.txt" fork="true" failonerror="true">
-	    	<arg value="-parser"/>
-	    	<arg value="XPathCup"/>
-	    	<arg value="-symbols"/>
-	    	<arg value="XpathSym"/>
-	    	<arg value="-package"/>
-	    	<arg value="org.eclipse.wst.xml.xpath2.processor.internal"/>
-	    	<arg value="-dump_states"/>    	
-	    </java>
-		<copyfile dest="${basedir}/src/org/eclipse/wst/xml/xpath2/processor/internal/XPathCup.java" src="XPathCup.java"/>
-		<copyfile dest="${basedir}/src/org/eclipse/wst/xml/xpath2/processor/internal/XpathSym.java" src="XpathSym.java"/>
-	</target>
-
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/grammars/generated/org/eclipse/wst/xml/xpath2/processor/internal/XPathFlex.java b/bundles/org.eclipse.wst.xml.xpath2.processor/grammars/generated/org/eclipse/wst/xml/xpath2/processor/internal/XPathFlex.java
deleted file mode 100644
index 61818c3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/grammars/generated/org/eclipse/wst/xml/xpath2/processor/internal/XPathFlex.java
+++ /dev/null
@@ -1,1315 +0,0 @@
-/* The following code was generated by JFlex 1.4.3 on 12/14/09 2:02 AM */
-
-// *******************************************************************************
-// * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
-// * All rights reserved. This program and the accompanying materials
-// * are made available under the terms of the Eclipse Public License v1.0
-// * which accompanies this distribution, and is available at
-// * http://www.eclipse.org/legal/epl-v10.html
-// *
-// * Contributors:
-// *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
-// *     David Carver - bug 280987 - fixed literal issues for integer and decimal
-// *     Jesper S Moller - bug 283214 - fix IF THEN ELSE parsing and update grammars
-// *     Jesper S Moller - bug 286061   correct handling of quoted string 
-// *******************************************************************************/
-
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import java_cup.runtime.*;
-
-
-/**
- * This class is a scanner generated by 
- * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
- * on 12/14/09 2:02 AM from the specification file
- * <tt>/Users/jesper/Documents/workspace-3.5M5/org.eclipse.wst.xml.xpath2.processor/grammars/xpath.lex</tt>
- */
-class XPathFlex implements java_cup.runtime.Scanner {
-
-  /** This character denotes the end of file */
-  public static final int YYEOF = -1;
-
-  /** initial size of the lookahead buffer */
-  private static final int ZZ_BUFFERSIZE = 16384;
-
-  /** lexical states */
-  public static final int YYINITIAL = 0;
-  public static final int COMMENT = 2;
-
-  /**
-   * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
-   * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
-   *                  at the beginning of a line
-   * l is of the form l = 2*k, k a non negative integer
-   */
-  private static final int ZZ_LEXSTATE[] = { 
-     0,  0,  1, 1
-  };
-
-  /** 
-   * Translates characters to character classes
-   */
-  private static final String ZZ_CMAP_PACKED = 
-    "\11\0\1\1\1\1\2\0\1\1\22\0\1\1\1\22\1\2\1\0"+
-    "\1\30\2\0\1\3\1\12\1\16\1\17\1\7\1\27\1\11\1\5"+
-    "\1\25\12\4\1\13\1\0\1\23\1\21\1\24\1\31\1\26\4\10"+
-    "\1\6\25\10\1\14\1\0\1\15\1\0\1\10\1\0\1\42\1\45"+
-    "\1\32\1\36\1\37\1\47\1\52\1\33\1\34\2\10\1\35\1\53"+
-    "\1\41\1\50\1\54\1\55\1\44\1\40\1\43\1\46\1\56\1\51"+
-    "\1\57\1\60\1\10\1\0\1\20\uff83\0";
-
-  /** 
-   * Translates characters to character classes
-   */
-  private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
-
-  /** 
-   * Translates DFA states to action switch labels.
-   */
-  private static final int [] ZZ_ACTION = zzUnpackAction();
-
-  private static final String ZZ_ACTION_PACKED_0 =
-    "\2\0\1\1\1\2\2\1\1\3\1\4\1\5\1\6"+
-    "\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16"+
-    "\1\17\1\1\1\20\1\21\1\22\1\23\1\24\1\25"+
-    "\1\26\20\5\2\2\1\0\1\27\1\0\1\27\1\30"+
-    "\1\0\1\31\1\32\1\33\1\34\1\35\1\36\1\37"+
-    "\1\40\1\41\4\5\1\42\1\43\1\5\1\44\1\45"+
-    "\1\46\5\5\1\47\6\5\1\50\2\5\1\51\5\5"+
-    "\1\52\4\5\1\53\1\54\1\55\1\56\3\5\1\57"+
-    "\1\60\1\61\1\0\7\5\1\62\16\5\1\63\10\5"+
-    "\1\64\1\65\4\5\1\66\1\5\1\67\2\5\1\70"+
-    "\3\5\1\71\4\5\1\72\1\5\1\73\1\5\1\74"+
-    "\2\5\1\75\1\76\10\5\1\77\10\5\1\100\6\5"+
-    "\1\101\2\5\1\102\14\5\1\103\6\5\1\104\1\5"+
-    "\1\105\3\5\1\106\4\5\1\107\12\5\1\110\1\111"+
-    "\10\5\1\112\5\5\1\113\5\5\1\114\1\115\1\5"+
-    "\1\116\1\5\1\117\1\120\1\5\1\121\5\5\1\122"+
-    "\26\5\1\123\10\5\1\124\1\125\14\5\1\126\1\127"+
-    "\4\5\1\130\1\131\1\5\1\132\4\5\1\133";
-
-  private static int [] zzUnpackAction() {
-    int [] result = new int[333];
-    int offset = 0;
-    offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
-    return result;
-  }
-
-  private static int zzUnpackAction(String packed, int offset, int [] result) {
-    int i = 0;       /* index in packed string  */
-    int j = offset;  /* index in unpacked array */
-    int l = packed.length();
-    while (i < l) {
-      int count = packed.charAt(i++);
-      int value = packed.charAt(i++);
-      do result[j++] = value; while (--count > 0);
-    }
-    return j;
-  }
-
-
-  /** 
-   * Translates a state to a row index in the transition table
-   */
-  private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
-
-  private static final String ZZ_ROWMAP_PACKED_0 =
-    "\0\0\0\61\0\142\0\142\0\223\0\304\0\365\0\u0126"+
-    "\0\u0157\0\142\0\142\0\u0188\0\u01b9\0\142\0\142\0\142"+
-    "\0\142\0\142\0\142\0\u01ea\0\u021b\0\u024c\0\u027d\0\142"+
-    "\0\142\0\142\0\142\0\u02ae\0\u02df\0\u0310\0\u0341\0\u0372"+
-    "\0\u03a3\0\u03d4\0\u0405\0\u0436\0\u0467\0\u0498\0\u04c9\0\u04fa"+
-    "\0\u052b\0\u055c\0\u058d\0\u05be\0\u05ef\0\223\0\u0620\0\304"+
-    "\0\u0651\0\u0682\0\u06b3\0\142\0\142\0\142\0\142\0\142"+
-    "\0\142\0\142\0\142\0\142\0\u06e4\0\u0715\0\u0746\0\u0777"+
-    "\0\u0157\0\u07a8\0\u07d9\0\u0157\0\u0157\0\u0157\0\u080a\0\u083b"+
-    "\0\u086c\0\u089d\0\u08ce\0\u0157\0\u08ff\0\u0930\0\u0961\0\u0992"+
-    "\0\u09c3\0\u09f4\0\u0157\0\u0a25\0\u0a56\0\u0157\0\u0a87\0\u0ab8"+
-    "\0\u0ae9\0\u0b1a\0\u0b4b\0\u0157\0\u0b7c\0\u0bad\0\u0bde\0\u0c0f"+
-    "\0\u0157\0\u0157\0\u0157\0\u0157\0\u0c40\0\u0c71\0\u0ca2\0\142"+
-    "\0\142\0\u0cd3\0\u0cd3\0\u0d04\0\u0d35\0\u0d66\0\u0d97\0\u0dc8"+
-    "\0\u0df9\0\u0e2a\0\u0157\0\u0e5b\0\u0e8c\0\u0ebd\0\u0eee\0\u0f1f"+
-    "\0\u0f50\0\u0f81\0\u0fb2\0\u0fe3\0\u1014\0\u1045\0\u1076\0\u10a7"+
-    "\0\u10d8\0\u0157\0\u1109\0\u113a\0\u116b\0\u119c\0\u11cd\0\u11fe"+
-    "\0\u122f\0\u1260\0\u0157\0\u0157\0\u1291\0\u12c2\0\u12f3\0\u1324"+
-    "\0\u1355\0\u1386\0\u0157\0\u13b7\0\u13e8\0\u0157\0\u1419\0\u144a"+
-    "\0\u147b\0\u0157\0\u14ac\0\u14dd\0\u150e\0\u153f\0\u0157\0\u1570"+
-    "\0\u0157\0\u15a1\0\u0157\0\u15d2\0\u1603\0\u0157\0\u0157\0\u1634"+
-    "\0\u1665\0\u1696\0\u16c7\0\u16f8\0\u1729\0\u175a\0\u178b\0\u0157"+
-    "\0\u17bc\0\u17ed\0\u181e\0\u184f\0\u1880\0\u18b1\0\u18e2\0\u1913"+
-    "\0\u0157\0\u1944\0\u1975\0\u19a6\0\u19d7\0\u1a08\0\u1a39\0\u0157"+
-    "\0\u1a6a\0\u1a9b\0\u0157\0\u1acc\0\u1afd\0\u1b2e\0\u1b5f\0\u1b90"+
-    "\0\u1bc1\0\u1bf2\0\u1c23\0\u1c54\0\u1c85\0\u1cb6\0\u1ce7\0\u0157"+
-    "\0\u1d18\0\u1d49\0\u1d7a\0\u1dab\0\u1ddc\0\u1e0d\0\u0157\0\u1e3e"+
-    "\0\u0157\0\u1e6f\0\u1ea0\0\u1ed1\0\u0157\0\u1f02\0\u1f33\0\u1f64"+
-    "\0\u1f95\0\u0157\0\u1fc6\0\u1ff7\0\u2028\0\u2059\0\u208a\0\u20bb"+
-    "\0\u20ec\0\u211d\0\u214e\0\u217f\0\u0157\0\u0157\0\u21b0\0\u21e1"+
-    "\0\u2212\0\u2243\0\u2274\0\u22a5\0\u22d6\0\u2307\0\u2338\0\u2369"+
-    "\0\u239a\0\u23cb\0\u23fc\0\u242d\0\u0157\0\u245e\0\u248f\0\u24c0"+
-    "\0\u24f1\0\u2522\0\u0157\0\u0157\0\u2553\0\u0157\0\u2584\0\u25b5"+
-    "\0\u25e6\0\u2617\0\u2648\0\u2679\0\u26aa\0\u26db\0\u270c\0\u273d"+
-    "\0\u0157\0\u276e\0\u279f\0\u27d0\0\u2801\0\u2832\0\u2863\0\u2894"+
-    "\0\u28c5\0\u28f6\0\u2927\0\u2958\0\u2989\0\u29ba\0\u29eb\0\u2a1c"+
-    "\0\u2a4d\0\u2a7e\0\u2aaf\0\u2ae0\0\u2b11\0\u2b42\0\u2b73\0\u0157"+
-    "\0\u2ba4\0\u2bd5\0\u2c06\0\u2c37\0\u2c68\0\u2c99\0\u2cca\0\u2cfb"+
-    "\0\u0157\0\u0157\0\u2d2c\0\u2d5d\0\u2d8e\0\u2dbf\0\u2df0\0\u2e21"+
-    "\0\u2e52\0\u2e83\0\u2eb4\0\u2ee5\0\u2f16\0\u2f47\0\u0157\0\u0157"+
-    "\0\u2f78\0\u2fa9\0\u2fda\0\u300b\0\u0157\0\u0157\0\u303c\0\u0157"+
-    "\0\u306d\0\u309e\0\u30cf\0\u3100\0\u0157";
-
-  private static int [] zzUnpackRowMap() {
-    int [] result = new int[333];
-    int offset = 0;
-    offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
-    return result;
-  }
-
-  private static int zzUnpackRowMap(String packed, int offset, int [] result) {
-    int i = 0;  /* index in packed string  */
-    int j = offset;  /* index in unpacked array */
-    int l = packed.length();
-    while (i < l) {
-      int high = packed.charAt(i++) << 16;
-      result[j++] = high | packed.charAt(i++);
-    }
-    return j;
-  }
-
-  /** 
-   * The transition table of the DFA
-   */
-  private static final int [] ZZ_TRANS = zzUnpackTrans();
-
-  private static final String ZZ_TRANS_PACKED_0 =
-    "\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12"+
-    "\1\11\1\13\1\14\1\15\1\16\1\17\1\20\1\21"+
-    "\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31"+
-    "\1\32\1\33\1\34\1\11\1\35\1\36\1\37\1\40"+
-    "\1\41\1\42\1\43\1\44\1\45\1\11\1\46\1\47"+
-    "\1\50\1\11\1\51\1\52\1\53\4\11\12\4\1\54"+
-    "\1\55\45\4\61\0\2\56\1\57\56\56\3\60\1\61"+
-    "\55\60\4\0\1\7\1\62\1\63\30\0\1\63\25\0"+
-    "\1\62\1\64\57\0\3\11\1\0\2\11\20\0\27\11"+
-    "\13\0\1\65\60\0\1\66\66\0\1\67\60\0\1\70"+
-    "\1\0\1\71\56\0\1\72\2\0\1\73\61\0\1\74"+
-    "\37\0\3\11\1\0\2\11\20\0\1\11\1\75\6\11"+
-    "\1\76\5\11\1\77\10\11\4\0\3\11\1\0\2\11"+
-    "\20\0\4\11\1\100\1\11\1\101\1\102\1\11\1\103"+
-    "\3\11\1\104\11\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\105\3\11\1\106\15\11\4\0\3\11\1\0"+
-    "\2\11\20\0\2\11\1\107\2\11\1\110\10\11\1\111"+
-    "\10\11\4\0\3\11\1\0\2\11\20\0\3\11\1\112"+
-    "\15\11\1\113\1\11\1\114\1\115\1\116\1\11\4\0"+
-    "\3\11\1\0\2\11\20\0\1\117\4\11\1\120\2\11"+
-    "\1\121\5\11\1\122\10\11\4\0\3\11\1\0\2\11"+
-    "\20\0\5\11\1\123\2\11\1\124\5\11\1\125\10\11"+
-    "\4\0\3\11\1\0\2\11\20\0\6\11\1\126\1\127"+
-    "\1\11\1\130\15\11\4\0\3\11\1\0\2\11\20\0"+
-    "\1\11\1\131\3\11\1\132\4\11\1\133\3\11\1\134"+
-    "\7\11\1\135\4\0\3\11\1\0\2\11\20\0\5\11"+
-    "\1\136\21\11\4\0\3\11\1\0\2\11\20\0\7\11"+
-    "\1\137\17\11\4\0\3\11\1\0\2\11\20\0\16\11"+
-    "\1\140\10\11\4\0\3\11\1\0\2\11\20\0\12\11"+
-    "\1\141\2\11\1\142\11\11\4\0\3\11\1\0\2\11"+
-    "\20\0\5\11\1\143\3\11\1\144\15\11\4\0\3\11"+
-    "\1\0\2\11\20\0\16\11\1\145\10\11\4\0\3\11"+
-    "\1\0\2\11\20\0\10\11\1\146\1\11\1\147\14\11"+
-    "\13\0\1\150\63\0\1\151\44\0\1\56\61\0\1\60"+
-    "\61\0\1\62\1\0\1\63\30\0\1\63\25\0\1\152"+
-    "\2\0\1\153\1\0\1\153\53\0\3\11\1\0\2\11"+
-    "\20\0\2\11\1\154\24\11\4\0\3\11\1\0\2\11"+
-    "\20\0\6\11\1\155\20\11\4\0\3\11\1\0\2\11"+
-    "\20\0\21\11\1\156\5\11\4\0\3\11\1\0\2\11"+
-    "\20\0\2\11\1\157\24\11\4\0\3\11\1\0\2\11"+
-    "\20\0\6\11\1\160\2\11\1\161\15\11\4\0\3\11"+
-    "\1\0\2\11\20\0\5\11\1\162\21\11\4\0\3\11"+
-    "\1\0\2\11\20\0\24\11\1\163\2\11\4\0\3\11"+
-    "\1\0\2\11\20\0\6\11\1\164\20\11\4\0\3\11"+
-    "\1\0\2\11\20\0\1\165\26\11\4\0\3\11\1\0"+
-    "\2\11\20\0\5\11\1\166\1\167\20\11\4\0\3\11"+
-    "\1\0\2\11\20\0\22\11\1\170\4\11\4\0\3\11"+
-    "\1\0\2\11\20\0\5\11\1\171\21\11\4\0\3\11"+
-    "\1\0\2\11\20\0\1\172\26\11\4\0\3\11\1\0"+
-    "\2\11\20\0\1\11\1\173\25\11\4\0\3\11\1\0"+
-    "\2\11\20\0\3\11\1\174\23\11\4\0\3\11\1\0"+
-    "\2\11\20\0\11\11\1\175\15\11\4\0\3\11\1\0"+
-    "\2\11\20\0\21\11\1\176\5\11\4\0\3\11\1\0"+
-    "\2\11\20\0\21\11\1\177\5\11\4\0\3\11\1\0"+
-    "\2\11\20\0\4\11\1\200\22\11\4\0\3\11\1\0"+
-    "\2\11\20\0\1\201\3\11\1\202\22\11\4\0\3\11"+
-    "\1\0\2\11\20\0\11\11\1\203\15\11\4\0\3\11"+
-    "\1\0\2\11\20\0\5\11\1\204\21\11\4\0\3\11"+
-    "\1\0\2\11\20\0\25\11\1\205\1\11\4\0\3\11"+
-    "\1\0\2\11\20\0\5\11\1\206\21\11\4\0\3\11"+
-    "\1\0\2\11\20\0\22\11\1\207\4\11\4\0\3\11"+
-    "\1\0\2\11\20\0\11\11\1\210\15\11\4\0\3\11"+
-    "\1\0\2\11\20\0\2\11\1\211\24\11\4\0\3\11"+
-    "\1\0\2\11\20\0\3\11\1\212\6\11\1\213\14\11"+
-    "\4\0\3\11\1\0\2\11\20\0\4\11\1\214\22\11"+
-    "\4\0\3\11\1\0\2\11\20\0\12\11\1\215\14\11"+
-    "\4\0\3\11\1\0\2\11\20\0\5\11\1\216\10\11"+
-    "\1\217\10\11\4\0\1\152\60\0\3\11\1\0\2\11"+
-    "\20\0\3\11\1\220\23\11\4\0\3\11\1\0\2\11"+
-    "\20\0\11\11\1\221\15\11\4\0\3\11\1\0\2\11"+
-    "\20\0\21\11\1\222\5\11\4\0\3\11\1\0\2\11"+
-    "\20\0\24\11\1\223\2\11\4\0\3\11\1\0\2\11"+
-    "\20\0\11\11\1\224\15\11\4\0\3\11\1\0\2\11"+
-    "\20\0\5\11\1\225\21\11\4\0\3\11\1\0\2\11"+
-    "\20\0\21\11\1\226\5\11\4\0\3\11\1\0\2\11"+
-    "\20\0\1\227\26\11\4\0\3\11\1\0\2\11\20\0"+
-    "\14\11\1\230\12\11\4\0\3\11\1\0\2\11\20\0"+
-    "\21\11\1\231\5\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\232\21\11\4\0\3\11\1\0\2\11\20\0"+
-    "\11\11\1\233\15\11\4\0\3\11\1\0\2\11\20\0"+
-    "\12\11\1\234\14\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\235\21\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\236\21\11\4\0\3\11\1\0\2\11\20\0"+
-    "\15\11\1\237\11\11\4\0\3\11\1\0\2\11\20\0"+
-    "\2\11\1\240\24\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\241\21\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\242\21\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\243\21\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\244\21\11\4\0\3\11\1\0\2\11\20\0"+
-    "\12\11\1\245\14\11\4\0\3\11\1\0\2\11\20\0"+
-    "\7\11\1\246\17\11\4\0\3\11\1\0\2\11\20\0"+
-    "\11\11\1\247\15\11\4\0\3\11\1\0\2\11\20\0"+
-    "\10\11\1\250\16\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\251\21\11\4\0\3\11\1\0\2\11\20\0"+
-    "\14\11\1\252\12\11\4\0\3\11\1\0\2\11\20\0"+
-    "\16\11\1\253\10\11\4\0\3\11\1\0\2\11\20\0"+
-    "\3\11\1\254\23\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\255\21\11\4\0\3\11\1\0\2\11\20\0"+
-    "\1\256\26\11\4\0\3\11\1\0\2\11\20\0\1\257"+
-    "\26\11\4\0\3\11\1\0\2\11\20\0\4\11\1\260"+
-    "\22\11\4\0\3\11\1\0\2\11\20\0\10\11\1\261"+
-    "\16\11\4\0\3\11\1\0\2\11\20\0\5\11\1\262"+
-    "\21\11\4\0\3\11\1\0\2\11\20\0\10\11\1\263"+
-    "\16\11\4\0\3\11\1\0\2\11\20\0\12\11\1\264"+
-    "\14\11\4\0\3\11\1\0\2\11\20\0\5\11\1\265"+
-    "\21\11\4\0\3\11\1\0\2\11\20\0\21\11\1\266"+
-    "\5\11\4\0\3\11\1\0\2\11\20\0\5\11\1\267"+
-    "\21\11\4\0\3\11\1\0\2\11\20\0\26\11\1\270"+
-    "\4\0\3\11\1\0\2\11\20\0\26\11\1\271\4\0"+
-    "\3\11\1\0\2\11\20\0\22\11\1\272\4\11\4\0"+
-    "\3\11\1\0\2\11\20\0\21\11\1\273\5\11\4\0"+
-    "\3\11\1\0\2\11\20\0\6\11\1\274\20\11\4\0"+
-    "\3\11\1\0\2\11\20\0\6\11\1\275\20\11\4\0"+
-    "\3\11\1\0\2\11\20\0\6\11\1\276\20\11\4\0"+
-    "\3\11\1\0\2\11\20\0\2\11\1\277\24\11\4\0"+
-    "\3\11\1\0\2\11\20\0\11\11\1\300\15\11\4\0"+
-    "\3\11\1\0\2\11\20\0\6\11\1\301\20\11\4\0"+
-    "\3\11\1\0\2\11\20\0\12\11\1\302\14\11\4\0"+
-    "\3\11\1\0\2\11\20\0\7\11\1\303\17\11\4\0"+
-    "\3\11\1\0\2\11\20\0\16\11\1\304\10\11\4\0"+
-    "\3\11\1\0\2\11\20\0\7\11\1\305\17\11\4\0"+
-    "\3\11\1\0\2\11\20\0\5\11\1\306\21\11\4\0"+
-    "\3\11\1\0\2\11\20\0\5\11\1\307\21\11\4\0"+
-    "\3\11\1\0\2\11\20\0\13\11\1\310\13\11\4\0"+
-    "\3\11\1\0\2\11\20\0\7\11\1\311\17\11\4\0"+
-    "\3\11\1\0\2\11\20\0\7\11\1\312\17\11\4\0"+
-    "\3\11\1\0\2\11\20\0\6\11\1\313\20\11\4\0"+
-    "\3\11\1\0\2\11\20\0\7\11\1\314\17\11\4\0"+
-    "\3\11\1\0\2\11\20\0\5\11\1\315\21\11\4\0"+
-    "\3\11\1\0\2\11\20\0\7\11\1\316\17\11\4\0"+
-    "\3\11\1\0\1\11\1\317\20\0\27\11\4\0\3\11"+
-    "\1\0\2\11\20\0\11\11\1\320\15\11\4\0\3\11"+
-    "\1\0\2\11\20\0\10\11\1\321\16\11\4\0\3\11"+
-    "\1\0\2\11\20\0\15\11\1\322\11\11\4\0\3\11"+
-    "\1\0\2\11\20\0\22\11\1\323\4\11\4\0\3\11"+
-    "\1\0\2\11\20\0\11\11\1\324\15\11\4\0\3\11"+
-    "\1\0\2\11\20\0\13\11\1\325\13\11\4\0\3\11"+
-    "\1\0\2\11\20\0\17\11\1\326\7\11\4\0\3\11"+
-    "\1\0\2\11\20\0\7\11\1\327\17\11\4\0\3\11"+
-    "\1\0\2\11\20\0\17\11\1\330\7\11\4\0\3\11"+
-    "\1\0\2\11\20\0\11\11\1\331\15\11\4\0\3\11"+
-    "\1\0\2\11\20\0\4\11\1\332\22\11\4\0\3\11"+
-    "\1\0\2\11\20\0\6\11\1\333\20\11\4\0\3\11"+
-    "\1\0\2\11\20\0\3\11\1\334\23\11\4\0\3\11"+
-    "\1\0\2\11\20\0\11\11\1\335\15\11\4\0\3\11"+
-    "\1\0\2\11\20\0\1\336\26\11\4\0\3\11\1\0"+
-    "\2\11\20\0\5\11\1\337\21\11\4\0\3\11\1\0"+
-    "\2\11\20\0\4\11\1\340\22\11\4\0\3\11\1\0"+
-    "\2\11\20\0\7\11\1\341\17\11\4\0\3\11\1\0"+
-    "\2\11\20\0\11\11\1\342\15\11\4\0\3\11\1\0"+
-    "\2\11\20\0\6\11\1\343\20\11\4\0\3\11\1\0"+
-    "\1\11\1\344\20\0\27\11\4\0\3\11\1\0\2\11"+
-    "\20\0\2\11\1\345\24\11\4\0\3\11\1\0\2\11"+
-    "\20\0\10\11\1\346\16\11\4\0\3\11\1\0\2\11"+
-    "\20\0\16\11\1\347\10\11\4\0\3\11\1\0\2\11"+
-    "\20\0\14\11\1\350\12\11\4\0\3\11\1\0\2\11"+
-    "\20\0\2\11\1\351\24\11\4\0\3\11\1\0\2\11"+
-    "\20\0\2\11\1\352\24\11\4\0\3\11\1\0\2\11"+
-    "\20\0\2\11\1\353\24\11\4\0\3\11\1\0\2\11"+
-    "\20\0\6\11\1\354\20\11\4\0\3\11\1\0\2\11"+
-    "\20\0\5\11\1\355\21\11\4\0\3\11\1\0\2\11"+
-    "\20\0\5\11\1\356\21\11\4\0\3\11\1\0\2\11"+
-    "\20\0\1\357\26\11\4\0\3\11\1\0\2\11\20\0"+
-    "\10\11\1\360\16\11\4\0\3\11\1\0\2\11\20\0"+
-    "\11\11\1\361\15\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\362\21\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\363\2\11\1\364\16\11\4\0\3\11\1\0"+
-    "\2\11\20\0\5\11\1\365\21\11\4\0\3\11\1\0"+
-    "\2\11\20\0\1\366\26\11\4\0\3\11\1\0\2\11"+
-    "\20\0\12\11\1\367\14\11\4\0\3\11\1\0\2\11"+
-    "\20\0\11\11\1\370\15\11\4\0\3\11\1\0\2\11"+
-    "\20\0\11\11\1\371\15\11\4\0\3\11\1\0\2\11"+
-    "\20\0\7\11\1\372\17\11\4\0\3\11\1\0\2\11"+
-    "\20\0\7\11\1\373\17\11\4\0\3\11\1\0\2\11"+
-    "\20\0\2\11\1\374\24\11\4\0\3\11\1\0\2\11"+
-    "\20\0\11\11\1\375\15\11\4\0\3\11\1\0\2\11"+
-    "\20\0\7\11\1\376\17\11\4\0\3\11\1\0\1\11"+
-    "\1\377\20\0\27\11\4\0\3\11\1\0\2\11\20\0"+
-    "\23\11\1\u0100\3\11\4\0\3\11\1\0\2\11\20\0"+
-    "\3\11\1\u0101\23\11\4\0\3\11\1\0\2\11\20\0"+
-    "\11\11\1\u0102\15\11\4\0\3\11\1\0\2\11\20\0"+
-    "\6\11\1\u0103\20\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\u0104\21\11\4\0\3\11\1\0\1\11\1\u0105"+
-    "\20\0\27\11\4\0\3\11\1\0\2\11\20\0\5\11"+
-    "\1\u0106\21\11\4\0\3\11\1\0\2\11\20\0\1\u0107"+
-    "\26\11\4\0\3\11\1\0\2\11\20\0\20\11\1\u0108"+
-    "\6\11\4\0\3\11\1\0\2\11\20\0\20\11\1\u0109"+
-    "\6\11\4\0\3\11\1\0\2\11\20\0\7\11\1\u010a"+
-    "\17\11\4\0\3\11\1\0\2\11\20\0\11\11\1\u010b"+
-    "\15\11\4\0\3\11\1\0\2\11\20\0\7\11\1\u010c"+
-    "\17\11\4\0\3\11\1\0\2\11\20\0\14\11\1\u010d"+
-    "\12\11\4\0\3\11\1\0\2\11\20\0\5\11\1\u010e"+
-    "\21\11\4\0\3\11\1\0\2\11\20\0\11\11\1\u010f"+
-    "\15\11\4\0\3\11\1\0\2\11\20\0\16\11\1\u0110"+
-    "\10\11\4\0\3\11\1\0\2\11\20\0\1\11\1\u0111"+
-    "\25\11\4\0\3\11\1\0\1\11\1\u0112\20\0\27\11"+
-    "\4\0\3\11\1\0\1\11\1\u0113\20\0\27\11\4\0"+
-    "\3\11\1\0\2\11\20\0\20\11\1\u0114\6\11\4\0"+
-    "\3\11\1\0\1\11\1\u0115\20\0\27\11\4\0\3\11"+
-    "\1\0\2\11\20\0\16\11\1\u0116\10\11\4\0\3\11"+
-    "\1\0\2\11\20\0\5\11\1\u0117\21\11\4\0\3\11"+
-    "\1\0\2\11\20\0\21\11\1\u0118\5\11\4\0\3\11"+
-    "\1\0\2\11\20\0\12\11\1\u0119\14\11\4\0\3\11"+
-    "\1\0\2\11\20\0\12\11\1\u011a\14\11\4\0\3\11"+
-    "\1\0\2\11\20\0\6\11\1\u011b\20\11\4\0\3\11"+
-    "\1\0\2\11\20\0\6\11\1\u011c\20\11\4\0\3\11"+
-    "\1\0\1\11\1\u011d\20\0\27\11\4\0\3\11\1\0"+
-    "\2\11\20\0\16\11\1\u011e\10\11\4\0\3\11\1\0"+
-    "\2\11\20\0\4\11\1\u011f\22\11\4\0\3\11\1\0"+
-    "\2\11\20\0\7\11\1\u0120\17\11\4\0\3\11\1\0"+
-    "\2\11\20\0\5\11\1\u0121\21\11\4\0\3\11\1\0"+
-    "\2\11\20\0\2\11\1\u0122\24\11\4\0\3\11\1\0"+
-    "\1\11\1\u0123\20\0\27\11\4\0\3\11\1\0\2\11"+
-    "\20\0\2\11\1\u0124\24\11\4\0\3\11\1\0\2\11"+
-    "\20\0\2\11\1\u0125\24\11\4\0\3\11\1\0\2\11"+
-    "\20\0\2\11\1\u0126\24\11\4\0\3\11\1\0\2\11"+
-    "\20\0\12\11\1\u0127\14\11\4\0\3\11\1\0\2\11"+
-    "\20\0\5\11\1\u0128\21\11\4\0\3\11\1\0\2\11"+
-    "\20\0\1\u0129\26\11\4\0\3\11\1\0\2\11\20\0"+
-    "\7\11\1\u012a\17\11\4\0\3\11\1\0\2\11\20\0"+
-    "\13\11\1\u012b\13\11\4\0\3\11\1\0\2\11\20\0"+
-    "\6\11\1\u012c\20\11\4\0\3\11\1\0\2\11\20\0"+
-    "\13\11\1\u012d\13\11\4\0\3\11\1\0\2\11\20\0"+
-    "\13\11\1\u012e\13\11\4\0\3\11\1\0\2\11\20\0"+
-    "\7\11\1\u012f\17\11\4\0\3\11\1\0\1\11\1\u0130"+
-    "\20\0\27\11\4\0\3\11\1\0\2\11\20\0\5\11"+
-    "\1\u0131\21\11\4\0\3\11\1\0\2\11\20\0\11\11"+
-    "\1\u0132\15\11\4\0\3\11\1\0\2\11\20\0\14\11"+
-    "\1\u0133\12\11\4\0\3\11\1\0\2\11\20\0\5\11"+
-    "\1\u0134\21\11\4\0\3\11\1\0\2\11\20\0\3\11"+
-    "\1\u0135\23\11\4\0\3\11\1\0\2\11\20\0\3\11"+
-    "\1\u0136\23\11\4\0\3\11\1\0\2\11\20\0\6\11"+
-    "\1\u0137\20\11\4\0\3\11\1\0\2\11\20\0\6\11"+
-    "\1\u0138\20\11\4\0\3\11\1\0\2\11\20\0\11\11"+
-    "\1\u0139\15\11\4\0\3\11\1\0\2\11\20\0\3\11"+
-    "\1\u013a\23\11\4\0\3\11\1\0\2\11\20\0\2\11"+
-    "\1\u013b\24\11\4\0\3\11\1\0\2\11\20\0\2\11"+
-    "\1\u013c\24\11\4\0\3\11\1\0\2\11\20\0\11\11"+
-    "\1\u013d\15\11\4\0\3\11\1\0\2\11\20\0\5\11"+
-    "\1\u013e\21\11\4\0\3\11\1\0\2\11\20\0\5\11"+
-    "\1\u013f\21\11\4\0\3\11\1\0\2\11\20\0\15\11"+
-    "\1\u0140\11\11\4\0\3\11\1\0\2\11\20\0\7\11"+
-    "\1\u0141\17\11\4\0\3\11\1\0\2\11\20\0\7\11"+
-    "\1\u0142\17\11\4\0\3\11\1\0\2\11\20\0\12\11"+
-    "\1\u0143\14\11\4\0\3\11\1\0\2\11\20\0\3\11"+
-    "\1\u0144\23\11\4\0\3\11\1\0\2\11\20\0\20\11"+
-    "\1\u0145\6\11\4\0\3\11\1\0\2\11\20\0\20\11"+
-    "\1\u0146\6\11\4\0\3\11\1\0\2\11\20\0\14\11"+
-    "\1\u0147\12\11\4\0\3\11\1\0\2\11\20\0\15\11"+
-    "\1\u0148\11\11\4\0\3\11\1\0\2\11\20\0\1\u0149"+
-    "\26\11\4\0\3\11\1\0\2\11\20\0\11\11\1\u014a"+
-    "\15\11\4\0\3\11\1\0\2\11\20\0\2\11\1\u014b"+
-    "\24\11\4\0\3\11\1\0\2\11\20\0\16\11\1\u014c"+
-    "\10\11\4\0\3\11\1\0\2\11\20\0\7\11\1\u014d"+
-    "\17\11";
-
-  private static int [] zzUnpackTrans() {
-    int [] result = new int[12593];
-    int offset = 0;
-    offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
-    return result;
-  }
-
-  private static int zzUnpackTrans(String packed, int offset, int [] result) {
-    int i = 0;       /* index in packed string  */
-    int j = offset;  /* index in unpacked array */
-    int l = packed.length();
-    while (i < l) {
-      int count = packed.charAt(i++);
-      int value = packed.charAt(i++);
-      value--;
-      do result[j++] = value; while (--count > 0);
-    }
-    return j;
-  }
-
-
-  /* error codes */
-  private static final int ZZ_UNKNOWN_ERROR = 0;
-  private static final int ZZ_NO_MATCH = 1;
-  private static final int ZZ_PUSHBACK_2BIG = 2;
-
-  /* error messages for the codes above */
-  private static final String ZZ_ERROR_MSG[] = {
-    "Unkown internal scanner error",
-    "Error: could not match input",
-    "Error: pushback value was too large"
-  };
-
-  /**
-   * ZZ_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
-   */
-  private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
-
-  private static final String ZZ_ATTRIBUTE_PACKED_0 =
-    "\2\0\2\11\5\1\2\11\2\1\6\11\4\1\4\11"+
-    "\22\1\1\0\1\1\1\0\2\1\1\0\11\11\53\1"+
-    "\2\11\1\1\1\0\342\1";
-
-  private static int [] zzUnpackAttribute() {
-    int [] result = new int[333];
-    int offset = 0;
-    offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
-    return result;
-  }
-
-  private static int zzUnpackAttribute(String packed, int offset, int [] result) {
-    int i = 0;       /* index in packed string  */
-    int j = offset;  /* index in unpacked array */
-    int l = packed.length();
-    while (i < l) {
-      int count = packed.charAt(i++);
-      int value = packed.charAt(i++);
-      do result[j++] = value; while (--count > 0);
-    }
-    return j;
-  }
-
-  /** the input device */
-  private java.io.Reader zzReader;
-
-  /** the current state of the DFA */
-  private int zzState;
-
-  /** the current lexical state */
-  private int zzLexicalState = YYINITIAL;
-
-  /** this buffer contains the current text to be matched and is
-      the source of the yytext() string */
-  private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
-
-  /** the textposition at the last accepting state */
-  private int zzMarkedPos;
-
-  /** the current text position in the buffer */
-  private int zzCurrentPos;
-
-  /** startRead marks the beginning of the yytext() string in the buffer */
-  private int zzStartRead;
-
-  /** endRead marks the last character in the buffer, that has been read
-      from input */
-  private int zzEndRead;
-
-  /** number of newlines encountered up to the start of the matched text */
-  private int yyline;
-
-  /** the number of characters up to the start of the matched text */
-  private int yychar;
-
-  /**
-   * the number of characters from the last newline up to the start of the 
-   * matched text
-   */
-  private int yycolumn;
-
-  /** 
-   * zzAtBOL == true <=> the scanner is currently at the beginning of a line
-   */
-  private boolean zzAtBOL = true;
-
-  /** zzAtEOF == true <=> the scanner is at the EOF */
-  private boolean zzAtEOF;
-
-  /** denotes if the user-EOF-code has already been executed */
-  private boolean zzEOFDone;
-
-  /* user code: */
-	public int lineno() { return yyline + 1; }
-	public int colno() { return yycolumn + 1; }
-
-	private Symbol symbol(int type) {
-		return new Symbol(type, lineno(), colno());
-	}
-	private Symbol symbol(int type, Object value) {
-		return new Symbol(type, lineno(), colno(), value);
-	}
-
-	private int commentLevel = 0;
-
-
-  /**
-   * Creates a new scanner
-   * There is also a java.io.InputStream version of this constructor.
-   *
-   * @param   in  the java.io.Reader to read input from.
-   */
-  XPathFlex(java.io.Reader in) {
-    this.zzReader = in;
-  }
-
-  /**
-   * Creates a new scanner.
-   * There is also java.io.Reader version of this constructor.
-   *
-   * @param   in  the java.io.Inputstream to read input from.
-   */
-  XPathFlex(java.io.InputStream in) {
-    this(new java.io.InputStreamReader(in));
-  }
-
-  /** 
-   * Unpacks the compressed character translation table.
-   *
-   * @param packed   the packed character translation table
-   * @return         the unpacked character translation table
-   */
-  private static char [] zzUnpackCMap(String packed) {
-    char [] map = new char[0x10000];
-    int i = 0;  /* index in packed string  */
-    int j = 0;  /* index in unpacked array */
-    while (i < 132) {
-      int  count = packed.charAt(i++);
-      char value = packed.charAt(i++);
-      do map[j++] = value; while (--count > 0);
-    }
-    return map;
-  }
-
-
-  /**
-   * Refills the input buffer.
-   *
-   * @return      <code>false</code>, iff there was new input.
-   * 
-   * @exception   java.io.IOException  if any I/O-Error occurs
-   */
-  private boolean zzRefill() throws java.io.IOException {
-
-    /* first: make room (if you can) */
-    if (zzStartRead > 0) {
-      System.arraycopy(zzBuffer, zzStartRead,
-                       zzBuffer, 0,
-                       zzEndRead-zzStartRead);
-
-      /* translate stored positions */
-      zzEndRead-= zzStartRead;
-      zzCurrentPos-= zzStartRead;
-      zzMarkedPos-= zzStartRead;
-      zzStartRead = 0;
-    }
-
-    /* is the buffer big enough? */
-    if (zzCurrentPos >= zzBuffer.length) {
-      /* if not: blow it up */
-      char newBuffer[] = new char[zzCurrentPos*2];
-      System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
-      zzBuffer = newBuffer;
-    }
-
-    /* finally: fill the buffer with new input */
-    int numRead = zzReader.read(zzBuffer, zzEndRead,
-                                            zzBuffer.length-zzEndRead);
-
-    if (numRead > 0) {
-      zzEndRead+= numRead;
-      return false;
-    }
-    // unlikely but not impossible: read 0 characters, but not at end of stream    
-    if (numRead == 0) {
-      int c = zzReader.read();
-      if (c == -1) {
-        return true;
-      } else {
-        zzBuffer[zzEndRead++] = (char) c;
-        return false;
-      }     
-    }
-
-	// numRead < 0
-    return true;
-  }
-
-    
-  /**
-   * Closes the input stream.
-   */
-  public final void yyclose() throws java.io.IOException {
-    zzAtEOF = true;            /* indicate end of file */
-    zzEndRead = zzStartRead;  /* invalidate buffer    */
-
-    if (zzReader != null)
-      zzReader.close();
-  }
-
-
-  /**
-   * Resets the scanner to read from a new input stream.
-   * Does not close the old reader.
-   *
-   * All internal variables are reset, the old input stream 
-   * <b>cannot</b> be reused (internal buffer is discarded and lost).
-   * Lexical state is set to <tt>ZZ_INITIAL</tt>.
-   *
-   * @param reader   the new input stream 
-   */
-  public final void yyreset(java.io.Reader reader) {
-    zzReader = reader;
-    zzAtBOL  = true;
-    zzAtEOF  = false;
-    zzEOFDone = false;
-    zzEndRead = zzStartRead = 0;
-    zzCurrentPos = zzMarkedPos = 0;
-    yyline = yychar = yycolumn = 0;
-    zzLexicalState = YYINITIAL;
-  }
-
-
-  /**
-   * Returns the current lexical state.
-   */
-  public final int yystate() {
-    return zzLexicalState;
-  }
-
-
-  /**
-   * Enters a new lexical state
-   *
-   * @param newState the new lexical state
-   */
-  public final void yybegin(int newState) {
-    zzLexicalState = newState;
-  }
-
-
-  /**
-   * Returns the text matched by the current regular expression.
-   */
-  public final String yytext() {
-    return new String( zzBuffer, zzStartRead, zzMarkedPos-zzStartRead );
-  }
-
-
-  /**
-   * Returns the character at position <tt>pos</tt> from the 
-   * matched text. 
-   * 
-   * It is equivalent to yytext().charAt(pos), but faster
-   *
-   * @param pos the position of the character to fetch. 
-   *            A value from 0 to yylength()-1.
-   *
-   * @return the character at position pos
-   */
-  public final char yycharat(int pos) {
-    return zzBuffer[zzStartRead+pos];
-  }
-
-
-  /**
-   * Returns the length of the matched text region.
-   */
-  public final int yylength() {
-    return zzMarkedPos-zzStartRead;
-  }
-
-
-  /**
-   * Reports an error that occured while scanning.
-   *
-   * In a wellformed scanner (no or only correct usage of 
-   * yypushback(int) and a match-all fallback rule) this method 
-   * will only be called with things that "Can't Possibly Happen".
-   * If this method is called, something is seriously wrong
-   * (e.g. a JFlex bug producing a faulty scanner etc.).
-   *
-   * Usual syntax/scanner level error handling should be done
-   * in error fallback rules.
-   *
-   * @param   errorCode  the code of the errormessage to display
-   */
-  private void zzScanError(int errorCode) {
-    String message;
-    try {
-      message = ZZ_ERROR_MSG[errorCode];
-    }
-    catch (ArrayIndexOutOfBoundsException e) {
-      message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
-    }
-
-    throw new Error(message);
-  } 
-
-
-  /**
-   * Pushes the specified amount of characters back into the input stream.
-   *
-   * They will be read again by then next call of the scanning method
-   *
-   * @param number  the number of characters to be read again.
-   *                This number must not be greater than yylength()!
-   */
-  public void yypushback(int number)  {
-    if ( number > yylength() )
-      zzScanError(ZZ_PUSHBACK_2BIG);
-
-    zzMarkedPos -= number;
-  }
-
-
-  /**
-   * Contains user EOF-code, which will be executed exactly once,
-   * when the end of file is reached
-   */
-  private void zzDoEOF() throws java.io.IOException {
-    if (!zzEOFDone) {
-      zzEOFDone = true;
-      yyclose();
-    }
-  }
-
-
-  /**
-   * Resumes scanning until the next regular expression is matched,
-   * the end of input is encountered or an I/O-Error occurs.
-   *
-   * @return      the next token
-   * @exception   java.io.IOException  if any I/O-Error occurs
-   */
-  public java_cup.runtime.Symbol next_token() throws java.io.IOException {
-    int zzInput;
-    int zzAction;
-
-    // cached fields:
-    int zzCurrentPosL;
-    int zzMarkedPosL;
-    int zzEndReadL = zzEndRead;
-    char [] zzBufferL = zzBuffer;
-    char [] zzCMapL = ZZ_CMAP;
-
-    int [] zzTransL = ZZ_TRANS;
-    int [] zzRowMapL = ZZ_ROWMAP;
-    int [] zzAttrL = ZZ_ATTRIBUTE;
-
-    while (true) {
-      zzMarkedPosL = zzMarkedPos;
-
-      boolean zzR = false;
-      for (zzCurrentPosL = zzStartRead; zzCurrentPosL < zzMarkedPosL;
-                                                             zzCurrentPosL++) {
-        switch (zzBufferL[zzCurrentPosL]) {
-        case '\u000B':
-        case '\u000C':
-        case '\u0085':
-        case '\u2028':
-        case '\u2029':
-          yyline++;
-          yycolumn = 0;
-          zzR = false;
-          break;
-        case '\r':
-          yyline++;
-          yycolumn = 0;
-          zzR = true;
-          break;
-        case '\n':
-          if (zzR)
-            zzR = false;
-          else {
-            yyline++;
-            yycolumn = 0;
-          }
-          break;
-        default:
-          zzR = false;
-          yycolumn++;
-        }
-      }
-
-      if (zzR) {
-        // peek one character ahead if it is \n (if we have counted one line too much)
-        boolean zzPeek;
-        if (zzMarkedPosL < zzEndReadL)
-          zzPeek = zzBufferL[zzMarkedPosL] == '\n';
-        else if (zzAtEOF)
-          zzPeek = false;
-        else {
-          boolean eof = zzRefill();
-          zzEndReadL = zzEndRead;
-          zzMarkedPosL = zzMarkedPos;
-          zzBufferL = zzBuffer;
-          if (eof) 
-            zzPeek = false;
-          else 
-            zzPeek = zzBufferL[zzMarkedPosL] == '\n';
-        }
-        if (zzPeek) yyline--;
-      }
-      zzAction = -1;
-
-      zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
-  
-      zzState = ZZ_LEXSTATE[zzLexicalState];
-
-
-      zzForAction: {
-        while (true) {
-    
-          if (zzCurrentPosL < zzEndReadL)
-            zzInput = zzBufferL[zzCurrentPosL++];
-          else if (zzAtEOF) {
-            zzInput = YYEOF;
-            break zzForAction;
-          }
-          else {
-            // store back cached positions
-            zzCurrentPos  = zzCurrentPosL;
-            zzMarkedPos   = zzMarkedPosL;
-            boolean eof = zzRefill();
-            // get translated positions and possibly new buffer
-            zzCurrentPosL  = zzCurrentPos;
-            zzMarkedPosL   = zzMarkedPos;
-            zzBufferL      = zzBuffer;
-            zzEndReadL     = zzEndRead;
-            if (eof) {
-              zzInput = YYEOF;
-              break zzForAction;
-            }
-            else {
-              zzInput = zzBufferL[zzCurrentPosL++];
-            }
-          }
-          int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
-          if (zzNext == -1) break zzForAction;
-          zzState = zzNext;
-
-          int zzAttributes = zzAttrL[zzState];
-          if ( (zzAttributes & 1) == 1 ) {
-            zzAction = zzState;
-            zzMarkedPosL = zzCurrentPosL;
-            if ( (zzAttributes & 8) == 8 ) break zzForAction;
-          }
-
-        }
-      }
-
-      // store back cached position
-      zzMarkedPos = zzMarkedPosL;
-
-      switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
-        case 74: 
-          { return symbol(XpathSym.ANCESTOR);
-          }
-        case 92: break;
-        case 56: 
-          { return symbol(XpathSym.ITEM);
-          }
-        case 93: break;
-        case 46: 
-          { return symbol(XpathSym.GT);
-          }
-        case 94: break;
-        case 81: 
-          { return symbol(XpathSym.DESCENDANT);
-          }
-        case 95: break;
-        case 15: 
-          { return symbol(XpathSym.EQUALS);
-          }
-        case 96: break;
-        case 3: 
-          { return symbol(XpathSym.INTEGER, new BigInteger(yytext()));
-          }
-        case 97: break;
-        case 39: 
-          { return symbol(XpathSym.EQ);
-          }
-        case 98: break;
-        case 71: 
-          { return symbol(XpathSym.ELEMENT);
-          }
-        case 99: break;
-        case 77: 
-          { return symbol(XpathSym.NAMESPACE);
-          }
-        case 100: break;
-        case 34: 
-          { return symbol(XpathSym.IS);
-          }
-        case 101: break;
-        case 23: 
-          { // get rid of quotes
-				String str = yytext();
-				assert str.length() >= 2;
-				return symbol(XpathSym.STRING, org.eclipse.wst.xml.xpath2.processor.internal.utils.LiteralUtils.unquote(str));
-          }
-        case 102: break;
-        case 1: 
-          { String err = "Unknown character at line " + lineno(); 
-		err += " col " + colno();
-		err += ": " + yytext(); 
-			     
-		throw new JFlexError(err);
-          }
-        case 103: break;
-        case 20: 
-          { return symbol(XpathSym.COMMA);
-          }
-        case 104: break;
-        case 70: 
-          { return symbol(XpathSym.COMMENT);
-          }
-        case 105: break;
-        case 38: 
-          { return symbol(XpathSym.LT);
-          }
-        case 106: break;
-        case 30: 
-          { return symbol(XpathSym.LESS_LESS);
-          }
-        case 107: break;
-        case 65: 
-          { return symbol(XpathSym.TREAT);
-          }
-        case 108: break;
-        case 13: 
-          { return symbol(XpathSym.STAR);
-          }
-        case 109: break;
-        case 66: 
-          { return symbol(XpathSym.UNION);
-          }
-        case 110: break;
-        case 21: 
-          { return symbol(XpathSym.DOLLAR);
-          }
-        case 111: break;
-        case 85: 
-          { return symbol(XpathSym.SCHEMA_ELEMENT);
-          }
-        case 112: break;
-        case 35: 
-          { return symbol(XpathSym.IN);
-          }
-        case 113: break;
-        case 43: 
-          { return symbol(XpathSym.OR);
-          }
-        case 114: break;
-        case 25: 
-          { return symbol(XpathSym.DOTDOT);
-          }
-        case 115: break;
-        case 82: 
-          { return symbol(XpathSym.TYPESWITCH);
-          }
-        case 116: break;
-        case 5: 
-          { return symbol(XpathSym.NCNAME, yytext());
-          }
-        case 117: break;
-        case 24: 
-          { return symbol(XpathSym.DECIMAL, new BigDecimal(yytext()));
-          }
-        case 118: break;
-        case 19: 
-          { return symbol(XpathSym.AT_SYM);
-          }
-        case 119: break;
-        case 29: 
-          { return symbol(XpathSym.LESSEQUAL);
-          }
-        case 120: break;
-        case 26: 
-          { commentLevel++; // int overflow =P
-			  yybegin(COMMENT);
-          }
-        case 121: break;
-        case 83: 
-          { return symbol(XpathSym.DOCUMENT_NODE);
-          }
-        case 122: break;
-        case 33: 
-          { return symbol(XpathSym.FORWARD_SLASHSLASH);
-          }
-        case 123: break;
-        case 18: 
-          { return symbol(XpathSym.FORWARD_SLASH);
-          }
-        case 124: break;
-        case 67: 
-          { return symbol(XpathSym.EXCEPT);
-          }
-        case 125: break;
-        case 89: 
-          { return symbol(XpathSym.PRECEDING_SIBLING);
-          }
-        case 126: break;
-        case 73: 
-          { return symbol(XpathSym.INSTANCE);
-          }
-        case 127: break;
-        case 57: 
-          { return symbol(XpathSym.ELSE);
-          }
-        case 128: break;
-        case 45: 
-          { return symbol(XpathSym.GE);
-          }
-        case 129: break;
-        case 47: 
-          { commentLevel++;
-          }
-        case 130: break;
-        case 36: 
-          { return symbol(XpathSym.IF);
-          }
-        case 131: break;
-        case 42: 
-          { return symbol(XpathSym.TO);
-          }
-        case 132: break;
-        case 84: 
-          { return symbol(XpathSym.EMPTY_SEQUENCE);
-          }
-        case 133: break;
-        case 80: 
-          { return symbol(XpathSym.PRECEDING);
-          }
-        case 134: break;
-        case 31: 
-          { return symbol(XpathSym.GREATEREQUAL);
-          }
-        case 135: break;
-        case 87: 
-          { return symbol(XpathSym.ANCESTOR_OR_SELF);
-          }
-        case 136: break;
-        case 78: 
-          { return symbol(XpathSym.ATTRIBUTE);
-          }
-        case 137: break;
-        case 86: 
-          { return symbol(XpathSym.SCHEMA_ATTRIBUTE);
-          }
-        case 138: break;
-        case 79: 
-          { return symbol(XpathSym.FOLLOWING);
-          }
-        case 139: break;
-        case 52: 
-          { return symbol(XpathSym.FOR);
-          }
-        case 140: break;
-        case 14: 
-          { return symbol(XpathSym.PIPE);
-          }
-        case 141: break;
-        case 22: 
-          { return symbol(XpathSym.QUESTIONMARK);
-          }
-        case 142: break;
-        case 37: 
-          { return symbol(XpathSym.LE);
-          }
-        case 143: break;
-        case 75: 
-          { return symbol(XpathSym.INTERSECT);
-          }
-        case 144: break;
-        case 48: 
-          { commentLevel--; 
-			  if(commentLevel == 0)
-		          	yybegin(YYINITIAL);
-          }
-        case 145: break;
-        case 44: 
-          { return symbol(XpathSym.OF);
-          }
-        case 146: break;
-        case 63: 
-          { return symbol(XpathSym.CHILD);
-          }
-        case 147: break;
-        case 40: 
-          { return symbol(XpathSym.NE);
-          }
-        case 148: break;
-        case 58: 
-          { return symbol(XpathSym.SELF);
-          }
-        case 149: break;
-        case 27: 
-          { return symbol(XpathSym.COLONCOLON);
-          }
-        case 150: break;
-        case 50: 
-          { return symbol(XpathSym.DIV);
-          }
-        case 151: break;
-        case 88: 
-          { return symbol(XpathSym.FOLLOWING_SIBLING);
-          }
-        case 152: break;
-        case 62: 
-          { return symbol(XpathSym.TEXT);
-          }
-        case 153: break;
-        case 68: 
-          { return symbol(XpathSym.RETURN);
-          }
-        case 154: break;
-        case 53: 
-          { return symbol(XpathSym.MOD);
-          }
-        case 155: break;
-        case 6: 
-          { return symbol(XpathSym.PLUS);
-          }
-        case 156: break;
-        case 28: 
-          { return symbol(XpathSym.NOTEQUALS);
-          }
-        case 157: break;
-        case 32: 
-          { return symbol(XpathSym.GREATER_GREATER);
-          }
-        case 158: break;
-        case 64: 
-          { return symbol(XpathSym.EVERY);
-          }
-        case 159: break;
-        case 72: 
-          { return symbol(XpathSym.CASTABLE);
-          }
-        case 160: break;
-        case 90: 
-          { return symbol(XpathSym.DESCENDANT_OR_SELF);
-          }
-        case 161: break;
-        case 76: 
-          { return symbol(XpathSym.SATISFIES);
-          }
-        case 162: break;
-        case 91: 
-          { return symbol(XpathSym.PROCESSING_INSTRUCTION);
-          }
-        case 163: break;
-        case 16: 
-          { return symbol(XpathSym.LESSTHAN);
-          }
-        case 164: break;
-        case 54: 
-          { return symbol(XpathSym.CAST);
-          }
-        case 165: break;
-        case 12: 
-          { return symbol(XpathSym.RPAR);
-          }
-        case 166: break;
-        case 2: 
-          { /* ignore */
-          }
-        case 167: break;
-        case 10: 
-          { return symbol(XpathSym.LBRACKET);
-          }
-        case 168: break;
-        case 60: 
-          { return symbol(XpathSym.NODE);
-          }
-        case 169: break;
-        case 55: 
-          { return symbol(XpathSym.IDIV);
-          }
-        case 170: break;
-        case 49: 
-          { return symbol(XpathSym.DOUBLE, new Double(yytext()));
-          }
-        case 171: break;
-        case 61: 
-          { return symbol(XpathSym.THEN);
-          }
-        case 172: break;
-        case 59: 
-          { return symbol(XpathSym.SOME);
-          }
-        case 173: break;
-        case 69: 
-          { return symbol(XpathSym.PARENT);
-          }
-        case 174: break;
-        case 7: 
-          { return symbol(XpathSym.MINUS);
-          }
-        case 175: break;
-        case 41: 
-          { return symbol(XpathSym.AS);
-          }
-        case 176: break;
-        case 4: 
-          { return symbol(XpathSym.DOT);
-          }
-        case 177: break;
-        case 11: 
-          { return symbol(XpathSym.RBRACKET);
-          }
-        case 178: break;
-        case 17: 
-          { return symbol(XpathSym.GREATER);
-          }
-        case 179: break;
-        case 51: 
-          { return symbol(XpathSym.AND);
-          }
-        case 180: break;
-        case 8: 
-          { return symbol(XpathSym.LPAR);
-          }
-        case 181: break;
-        case 9: 
-          { return symbol(XpathSym.COLON);
-          }
-        case 182: break;
-        default: 
-          if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
-            zzAtEOF = true;
-            zzDoEOF();
-              { return new java_cup.runtime.Symbol(sym.EOF); }
-          } 
-          else {
-            zzScanError(ZZ_NO_MATCH);
-          }
-      }
-    }
-  }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/grammars/xpath.cup b/bundles/org.eclipse.wst.xml.xpath2.processor/grammars/xpath.cup
deleted file mode 100644
index 9e8e9a2..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/grammars/xpath.cup
+++ /dev/null
@@ -1,756 +0,0 @@
-// *******************************************************************************
-// * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
-// * All rights reserved. This program and the accompanying materials
-// * are made available under the terms of the Eclipse Public License v1.0
-// * which accompanies this distribution, and is available at
-// * http://www.eclipse.org/legal/epl-v10.html
-// *
-// * Contributors:
-// *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
-// *     David Carver - bug 269833 - A work around for the keyword in node issue.
-// *     Jesper S Moller - bug 283214 - fix IF THEN ELSE parsing and update grammars
-// *     David Carver (STAR) - bug 262765 - Fixed Wildcard and NCName issue. 
-// *     Jesper S Moller - bug 297707 - Missing the empty-sequence() type
-// *******************************************************************************/
-
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.*;
-import org.eclipse.wst.xml.xpath2.processor.ast.XPath;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
- 
-parser code 	{:
-
-public void report_error(String message, Object info) {
-	String err = "Parser error: ";
-
-	XPathFlex lexer = (XPathFlex) getScanner();
-
-	err += "line " + lexer.lineno();
-	err += " col " + lexer.colno();
-	err += ": " + lexer.yytext();
-
-	
-	throw new CupError(err);
-}
-:}
-
-
-
-terminal LBRACKET, RBRACKET, LPAR, RPAR;
-terminal PLUS, MINUS, STAR, PIPE;
-terminal EQUALS, NOTEQUALS, LESSTHAN, LESSEQUAL, GREATER, GREATEREQUAL;
-terminal LESS_LESS, GREATER_GREATER;
-terminal FORWARD_SLASH, FORWARD_SLASHSLASH;
-terminal COLONCOLON, AT_SYM, DOTDOT, COLON, COMMA, DOLLAR, DOT, QUESTIONMARK;
-
-terminal String CHILD, DESCENDANT, ATTRIBUTE, SELF, DESCENDANT_OR_SELF;
-terminal String FOLLOWING_SIBLING, FOLLOWING, NAMESPACE, PARENT;
-terminal String ANCESTOR, PRECEDING_SIBLING, PRECEDING, ANCESTOR_OR_SELF;
-terminal EQ, NE, LT, LE, GT, GE;
-terminal String DIV, IDIV, MOD;
-terminal String UNION, INTERSECT, EXCEPT;
-terminal String INSTANCE, OF, TREAT, AS, CASTABLE, CAST, IS;
-terminal String FOR, IN, RETURN, SATISFIES, TO;
-terminal String SOME, EVERY;
-terminal String IF, THEN, ELSE;
-terminal String AND, OR;
-terminal EMPTY_SEQUENCE, ITEM, NODE, DOCUMENT_NODE, TEXT, COMMENT;
-terminal PROCESSING_INSTRUCTION, SCHEMA_ATTRIBUTE, ELEMENT, SCHEMA_ELEMENT;
-// Unused in XPath 2, but reserved for compatibility with XQuery
-terminal TYPESWITCH;
-
-terminal BigInteger INTEGER;
-terminal Double DOUBLE;
-terminal BigDecimal DECIMAL;
-terminal String STRING, NCNAME;
-
-
-non terminal String Prefix, LocalPart, NCName, UnqualifiedNCName, UnqualifiedLocalPart;
-non terminal StringLiteral StringLiteral;
-non terminal QName ElementDeclaration, ElementNameOrWildcard, TypeName, ElementName;
-non terminal QName AttributeDeclaration, AttribNameOrWildcard, AttributeName;
-non terminal QName AtomicType, QName, VarName, Wildcard;
-non terminal Integer OccurrenceIndicator, ReverseAxis, ForwardAxis, NodeComp;
-non terminal ItemType ItemType;
-non terminal Collection FunctionCallMiddle, ParenthesizedExpr, Expr;
-non terminal Collection PredicateList, QuantifiedExprMiddle, SimpleForClause;
-non terminal PrimaryExpr PrimaryExpr;
-non terminal NodeTest NodeTest;
-non terminal ReverseStep ReverseStep, AbbrevReverseStep;
-non terminal ForwardStep ForwardStep, AbbrevForwardStep;
-non terminal StepExpr StepExpr;
-non terminal XPathExpr RelativePathExpr;
-non terminal Expr UnaryExpr;
-non terminal SingleType SingleType;
-non terminal SequenceType SequenceType;
-non terminal Expr TreatExpr, CastableExpr, InstanceofExpr, CastExpr;
-non terminal Expr UnionExpr, MultiplicativeExpr, IntersectExceptExpr, ExprSingle;
-non terminal Expr AdditiveExpr;
-non terminal Integer GeneralComp, ValueComp;
-non terminal Expr AndExpr, OrExpr, RangeExpr, ComparisonExpr;
-non terminal NameTest NameTest;
-non terminal KindTest KindTest;
-non terminal Literal Literal;
-non terminal VarRef VarRef;
-non terminal CntxItemExpr ContextItemExpr;
-non terminal FunctionCall FunctionCall;
-non terminal NumericLiteral NumericLiteral;
-non terminal DecimalLiteral DecimalLiteral;
-non terminal IntegerLiteral IntegerLiteral;
-non terminal DoubleLiteral DoubleLiteral;
-non terminal DocumentTest DocumentTest;
-non terminal TextTest TextTest;
-non terminal CommentTest CommentTest;
-non terminal PITest PITest;
-non terminal AttributeTest AttributeTest;
-non terminal AnyKindTest AnyKindTest;
-non terminal ElementTest ElementTest;
-non terminal SchemaAttrTest SchemaAttributeTest;
-non terminal SchemaElemTest SchemaElementTest;
-non terminal XPath XPath;
-non terminal ForExpr ForExpr;
-non terminal QuantifiedExpr QuantifiedExpr;
-non terminal IfExpr IfExpr;
-non terminal XPathExpr PathExpr, ValueExpr;
-non terminal AxisStep AxisStep;
-non terminal FilterExpr FilterExpr;
-non terminal Collection Predicate;
-
-precedence left PLUS, MINUS;
-precedence left STAR;
-precedence left COLON;
-precedence left NCNAME;
-precedence left CHILD, DESCENDANT, ATTRIBUTE, SELF, DESCENDANT_OR_SELF;
-precedence left FOLLOWING_SIBLING, FOLLOWING, NAMESPACE, PARENT;
-precedence left ANCESTOR, PRECEDING_SIBLING, PRECEDING, ANCESTOR_OR_SELF;
-precedence left UNION, INTERSECT, EXCEPT;
-precedence left INSTANCE, OF, TREAT, AS, CASTABLE, CAST, IS;
-precedence left FOR, IN, RETURN, SATISFIES, TO;
-precedence left SOME, EVERY;
-precedence left IF, THEN, ELSE;
-precedence left AND, OR;
-precedence left DIV, IDIV, MOD;
-
-
-
-
-XPath             ::= Expr:exps {: RESULT = new XPath(exps); :} ;
-
-Expr              ::= ExprSingle:ex 
-			{: 
-				Collection exps = new ArrayList();
-				exps.add(ex);
-				RESULT = exps;
-			:}
-                    | Expr:exprs COMMA ExprSingle:ex 
-		    	{: 
-				exprs.add(ex);
-				RESULT = exprs;
-			:} 
-		    ;
-
-ExprSingle        ::= ForExpr:n {: RESULT = n; :}
-                    | QuantifiedExpr:n {: RESULT = n; :}
-                    | IfExpr:n {: RESULT = n; :}
-                    | OrExpr:n {: RESULT = n; :}
-		    ;
-
-ForExpr           ::= SimpleForClause:pairs RETURN ExprSingle:e 
-			{:
-				ForExpr fexp = new ForExpr(pairs,e);
-				RESULT = fexp;
-			:}	
-		    ;
-
-SimpleForClause   ::= FOR DOLLAR VarName:v IN ExprSingle:e
-			{:
-				Collection pairs = new ArrayList();
-				VarExprPair p = new VarExprPair(v,e);
-				pairs.add(p);
-				RESULT = pairs;
-			:}
-			
-                    | SimpleForClause:ps COMMA DOLLAR VarName:v IN ExprSingle:e
-		    	{:
-				VarExprPair p = new VarExprPair(v,e);
-				ps.add(p);
-				RESULT = ps;
-			:}	
-		    ;
-
-QuantifiedExpr       ::= SOME DOLLAR QuantifiedExprMiddle:pairs SATISFIES ExprSingle:e
-			{:
-				QuantifiedExpr qe = new QuantifiedExpr(QuantifiedExpr.SOME,
-								       pairs, e);
-				RESULT = qe;
-			:}
-                       | EVERY DOLLAR QuantifiedExprMiddle:pairs SATISFIES ExprSingle:e
-			{:
-				QuantifiedExpr qe = new QuantifiedExpr(QuantifiedExpr.ALL,
-								       pairs, e);
-				RESULT = qe;
-			:}
-		       ;
-
-QuantifiedExprMiddle ::= VarName:v IN ExprSingle:e
-			{:
-				Collection pairs = new ArrayList();
-				VarExprPair p = new VarExprPair(v,e);
-				pairs.add(p);
-				RESULT = pairs;
-			:}
-                       | QuantifiedExprMiddle:ps COMMA DOLLAR VarName:v IN ExprSingle:e
-		       	{:
-				VarExprPair p = new VarExprPair(v,e);
-				ps.add(p);
-				RESULT = ps;
-			:}
-		       ;
-
-IfExpr            ::= IF LPAR Expr:exps RPAR THEN ExprSingle:t ELSE ExprSingle:e
-			{: RESULT = new IfExpr(exps, t, e); :}
-		    ;
-
-OrExpr            ::= AndExpr:n {: RESULT = n; :} 
-                    | OrExpr:l OR AndExpr:r {: RESULT = new OrExpr(l, r); :}
-		    ;
-
-AndExpr           ::= ComparisonExpr:n {: RESULT = n; :} 
-                    | AndExpr:l AND ComparisonExpr:r
-		    	{: RESULT = new AndExpr(l, r); :}
-		    ;
-
-ComparisonExpr    ::= RangeExpr:n {: RESULT = n; :}
-                    | RangeExpr:l ValueComp:t RangeExpr:r
-			{: RESULT = new CmpExpr(l, r, t.intValue()); :}
-                    | RangeExpr:l GeneralComp:t RangeExpr:r
-			{: RESULT = new CmpExpr(l, r, t.intValue()); :}
-                    | RangeExpr:l NodeComp:t RangeExpr:r
-			{: RESULT = new CmpExpr(l, r, t.intValue()); :}
-		    ;
-
-RangeExpr         ::= AdditiveExpr:n {: RESULT = n; :}
-		    | AdditiveExpr:l TO AdditiveExpr:r
-		    	{: RESULT = new RangeExpr(l, r); :}	
-		    ;
-
-AdditiveExpr        ::= MultiplicativeExpr:n {: RESULT = n; :}
-                      | AdditiveExpr:l PLUS MultiplicativeExpr:r
-		      	{: RESULT = new AddExpr(l, r); :}
-		      | AdditiveExpr:l MINUS MultiplicativeExpr:r
-		      	{: RESULT = new SubExpr(l, r); :}
-		      ;
-
-MultiplicativeExpr  ::= UnionExpr:n {: RESULT = n; :} 
-                      | MultiplicativeExpr:l STAR UnionExpr:r
-		      	{: RESULT = new MulExpr(l, r); :}
-                      | MultiplicativeExpr:l DIV UnionExpr:r
-		      	{: RESULT = new DivExpr(l, r); :}
-                      | MultiplicativeExpr:l IDIV UnionExpr:r
-		      	{: RESULT = new IDivExpr(l, r); :}
-                      | MultiplicativeExpr:l MOD UnionExpr:r
-		      	{: RESULT = new ModExpr(l, r); :}
-		      ;
-
-UnionExpr           ::= IntersectExceptExpr:n {: RESULT = n; :}
-                      | UnionExpr:l UNION IntersectExceptExpr:r
-		        {: RESULT = new UnionExpr(l, r); :}
-                      | UnionExpr:l PIPE IntersectExceptExpr:r
-		        {: RESULT = new PipeExpr(l, r); :}
-		      ;
-
-IntersectExceptExpr ::= InstanceofExpr:n {: RESULT = n; :}
-                      | IntersectExceptExpr:l INTERSECT InstanceofExpr:r
-		      	{: RESULT = new IntersectExpr(l, r); :}
-                      | IntersectExceptExpr:l EXCEPT InstanceofExpr:r
-		      	{: RESULT = new ExceptExpr(l, r); :}
-		      ;
-
-InstanceofExpr      ::= TreatExpr:n {: RESULT = n; :}
-                      | TreatExpr:l INSTANCE OF SequenceType:r
-		      	{: RESULT = new InstOfExpr(l, r); :}
-		      ;
-
-TreatExpr           ::= CastableExpr:n {: RESULT = n; :}
-                      | CastableExpr:l TREAT AS SequenceType:r
-		      	{: RESULT = new TreatAsExpr(l, r); :}
-		      ;
-
-CastableExpr        ::= CastExpr:n {: RESULT = n; :}
-                      | CastExpr:l CASTABLE AS SingleType:r
-		      	{: RESULT = new CastableExpr(l, r); :}
-		      ;
-
-CastExpr            ::= UnaryExpr:n {: RESULT = n; :}
-                      | UnaryExpr:l CAST AS SingleType:r 
-		        {: RESULT = new CastExpr(l, r); :}
-		      ;
-   
-UnaryExpr           ::= ValueExpr:n {: RESULT = n; :}
-                      | MINUS UnaryExpr:a {: RESULT = new MinusExpr(a); :}
-		      | PLUS UnaryExpr:a {: RESULT = new PlusExpr(a); :}
-		      ;
-
-ValueExpr           ::= PathExpr:n {: RESULT = n; :};
-
-GeneralComp         ::= EQUALS
-			{: RESULT = new Integer(CmpExpr.EQUALS); :}
-                      | NOTEQUALS
-		      	{: RESULT = new Integer(CmpExpr.NOTEQUALS); :}
-		      | LESSTHAN
-		      	{: RESULT = new Integer(CmpExpr.LESSTHAN); :}
-		      | LESSEQUAL
-		      	{: RESULT = new Integer(CmpExpr.LESSEQUAL); :} 
-		      | GREATER
-		      	{: RESULT = new Integer(CmpExpr.GREATER); :}
-		      | GREATEREQUAL
-		      	{: RESULT = new Integer(CmpExpr.GREATEREQUAL); :} 
-		      ;
-
-ValueComp           ::= EQ	{: RESULT = new Integer(CmpExpr.EQ); :} 
-                      | NE  	{: RESULT = new Integer(CmpExpr.NE); :}
-		      | LT  	{: RESULT = new Integer(CmpExpr.LT); :}
-		      | LE  	{: RESULT = new Integer(CmpExpr.LE); :}
-		      | GT  	{: RESULT = new Integer(CmpExpr.GT); :}
-		      | GE 	{: RESULT = new Integer(CmpExpr.GE); :}
-		      ;
-
-NodeComp            ::= IS 	 	{: RESULT = new Integer(CmpExpr.IS); :}
-                      | LESS_LESS 	
-		      	{: RESULT = new Integer(CmpExpr.LESS_LESS); :}
-		      | GREATER_GREATER	
-		      	{: RESULT = new Integer(CmpExpr.GREATER_GREATER); :}
-		      ;
-
-PathExpr            ::= FORWARD_SLASH {: RESULT = new XPathExpr(1,null); :}
-                      | FORWARD_SLASH RelativePathExpr:p
-		      	{:
-				p.set_slashes(1);
-				RESULT = p;
-			:}
-                      | FORWARD_SLASHSLASH RelativePathExpr:p
-		      	{:
-				p.set_slashes(2);
-				RESULT = p;
-			:}
-                      | RelativePathExpr:n {: RESULT = n; :}
-		      ;
-
-RelativePathExpr    ::= StepExpr:s {: RESULT = new XPathExpr(0,(StepExpr)s); :}
-                      | RelativePathExpr:p FORWARD_SLASH StepExpr:s
-		      	{:
-				p.add_tail(1,s);
-				RESULT = p;
-			:}
-		      | RelativePathExpr:p FORWARD_SLASHSLASH StepExpr:s
-		      	{:
-				p.add_tail(2,s);
-				RESULT = p;
-			:}
-		      ;
-
-StepExpr            ::= AxisStep:n {: RESULT = n; :}
-                      | FilterExpr:n {: RESULT = n; :}
-		      ;
-
-AxisStep            ::= ForwardStep:s PredicateList:p 
-			{: RESULT = new AxisStep(s, p); :}	
-                      | ReverseStep:s PredicateList:p
-			{: RESULT = new AxisStep(s, p); :}	
-		      ;
-
-ForwardStep         ::= ForwardAxis:a NodeTest:n
-			{: RESULT = new ForwardStep(a.intValue(),n); :}
-                      | AbbrevForwardStep:n {: RESULT = n; :}
-		      ;
-
-ForwardAxis         ::= CHILD COLONCOLON 
-			{: RESULT = new Integer(ForwardStep.CHILD); :}
-                      | DESCENDANT COLONCOLON
-			{: RESULT = new Integer(ForwardStep.DESCENDANT); :}
-                      | ATTRIBUTE COLONCOLON
-			{: RESULT = new Integer(ForwardStep.ATTRIBUTE); :}
-                      | SELF COLONCOLON
-			{: RESULT = new Integer(ForwardStep.SELF); :}
-                      | DESCENDANT_OR_SELF COLONCOLON
-			{: RESULT = new Integer(ForwardStep.DESCENDANT_OR_SELF); :}
-                      | FOLLOWING_SIBLING COLONCOLON
-			{: RESULT = new Integer(ForwardStep.FOLLOWING_SIBLING); :}
-                      | FOLLOWING COLONCOLON
-			{: RESULT = new Integer(ForwardStep.FOLLOWING); :}
-                      | NAMESPACE COLONCOLON
-			{: RESULT = new Integer(ForwardStep.NAMESPACE); :}
-		      ;
-
-AbbrevForwardStep   ::= AT_SYM NodeTest:n
-			{: RESULT = new ForwardStep(ForwardStep.AT_SYM, n); :}
-                      | NodeTest:n
-			{: RESULT = new ForwardStep(ForwardStep.NONE, n); :}
-		      ;
-
-ReverseStep         ::= ReverseAxis:a NodeTest:n
-			{:  RESULT = new ReverseStep(a.intValue(), n); :}
-                      | AbbrevReverseStep:n {: RESULT = n; :}
-		      ;
-
-ReverseAxis         ::= PARENT COLONCOLON
-			{: RESULT = new Integer(ReverseStep.PARENT); :}
-                      | ANCESTOR COLONCOLON
-			{: RESULT = new Integer(ReverseStep.ANCESTOR); :}
-                      | PRECEDING_SIBLING COLONCOLON
-			{: RESULT = new Integer(ReverseStep.PRECEDING_SIBLING); :}
-                      | PRECEDING COLONCOLON
-			{: RESULT = new Integer(ReverseStep.PRECEDING); :}
-                      | ANCESTOR_OR_SELF COLONCOLON
-			{: RESULT = new Integer(ReverseStep.ANCESTOR_OR_SELF); :}
-		      ;
-
-AbbrevReverseStep   ::= DOTDOT 
-			{: RESULT = new ReverseStep(ReverseStep.DOTDOT,null); :}
-		      ;
-
-NodeTest            ::= KindTest:n {: RESULT = n; :}
-                      | NameTest:n {: RESULT = n; :}
-		      ;
-   
-NameTest            ::= QName:n    {: RESULT = new NameTest(n); :}
-                      | Wildcard:n {: RESULT = new NameTest(n); :}
-		      ;
-
-// XXX: have sep class for wild card.... or whatever...
-// XXX: is * == *:* ???
-Wildcard            ::= STAR 		    {: RESULT = new QName("*","*"); :}
-// XXX: some1 disambiguate the grammar
-// i.e. give higher precedence to a QName rather than to a wildcard
-//                      | NCName:n COLON STAR {: RESULT = new QName(n, "*"); :}
-                      | STAR COLON NCName:n {: RESULT = new QName("*", n); :}
-		      ;
-
-FilterExpr          ::= PrimaryExpr:pe PredicateList:e
-			{: RESULT = new FilterExpr(pe, e); :}   
-		      ;
-
-// XXX: Collection of collections!
-PredicateList       ::= PredicateList:c Predicate:p
-			{:
-			   c.add(p);
-			   RESULT = c;
-			:}
-                      | /* empty */ {: RESULT = new ArrayList(); :}
-		      ;
-
-Predicate           ::= LBRACKET Expr:e RBRACKET {: RESULT = e; :};
-
-PrimaryExpr         ::= Literal:n {: RESULT = n; :} 
-                      | VarRef:n {: RESULT = n; :} 
-		      | ParenthesizedExpr:e
-		      	{: RESULT = new ParExpr(e); :}  
-		      | ContextItemExpr:n {: RESULT = n; :} 
-		      | FunctionCall:n {: RESULT = n; :}
-		      ;
-
-Literal             ::= NumericLiteral:n {: RESULT = n; :} 
-                      | StringLiteral:n {: RESULT = n; :}
-		      ;
-
-NumericLiteral      ::= IntegerLiteral:n {: RESULT = n; :}
-                      | DecimalLiteral:n {: RESULT = n; :} 
-		      | DoubleLiteral:n {: RESULT = n; :}
-		      ;
-   
-VarRef              ::= DOLLAR VarName:v {: RESULT = new VarRef(v); :};
-
-ParenthesizedExpr   ::= LPAR RPAR	 {: RESULT = new ArrayList(); :}
-                      | LPAR Expr:e RPAR {: RESULT = e; :}
-		      ;
-
-ContextItemExpr     ::= DOT {: RESULT = new CntxItemExpr(); :};
-   
-FunctionCall        ::= QName:n LPAR RPAR
-			{:
-			   RESULT = new FunctionCall(n,new ArrayList());
-			:}
-                      | QName:n LPAR FunctionCallMiddle:a RPAR
-			{:
-			   RESULT = new FunctionCall(n,a);
-			:}
-		      ;
-
-FunctionCallMiddle  ::= ExprSingle:e
-			{:
-			   Collection c = new ArrayList();
-			   c.add(e);
-			   RESULT = c;
-			:}
-                      | FunctionCallMiddle:c COMMA ExprSingle:e
-		        {:
-			   c.add(e);
-			   RESULT = c;
-			:}
-		      ;
-
-
-SingleType          ::= AtomicType:t {: RESULT = new SingleType(t); :}
-                      | AtomicType:t QUESTIONMARK
-		      	{: RESULT = new SingleType(t,true); :}
-		      ;
-
-SequenceType        ::= ItemType:t
-			{: RESULT = new SequenceType(SequenceType.NONE, t); :}
-                      | ItemType:t OccurrenceIndicator:i
-			{: RESULT = new SequenceType(i.intValue(), t); :}
-                      | EMPTY_SEQUENCE LPAR RPAR
-			{: RESULT = new SequenceType(SequenceType.EMPTY, null); :}
-		      ;
-
-OccurrenceIndicator ::= QUESTIONMARK 
-			{: RESULT = new Integer(SequenceType.QUESTION); :}
-                      | STAR 
-			{: RESULT = new Integer(SequenceType.STAR); :}
-		      | PLUS
-			{: RESULT = new Integer(SequenceType.PLUS); :}
-		      ;
-
-ItemType            ::= AtomicType:q
-			{: RESULT = new ItemType(ItemType.QNAME,q); :}
-                      | KindTest:k
-		        {: RESULT = new ItemType(ItemType.KINDTEST,k); :}
-		      | ITEM LPAR RPAR
-		        {: RESULT = new ItemType(ItemType.ITEM,null); :}
-		      ;
-
-AtomicType          ::= QName:n {: RESULT = n; :};
-
-KindTest            ::= DocumentTest:n {: RESULT = n; :}
-                      | ElementTest:n {: RESULT = n; :}
-                      | AttributeTest:n {: RESULT = n; :}
-                      | SchemaElementTest:n {: RESULT = n; :}
-                      | SchemaAttributeTest:n {: RESULT = n; :}
-                      | PITest:n {: RESULT = n; :}
-                      | CommentTest:n {: RESULT = n; :}
-                      | TextTest:n {: RESULT = n; :}
-                      | AnyKindTest:n {: RESULT = n; :}
-		      ;
-
-AnyKindTest         ::= NODE LPAR RPAR {: RESULT = new AnyKindTest(); :};
-
-DocumentTest        ::= DOCUMENT_NODE LPAR RPAR 
-			 {: RESULT = new DocumentTest(); :}
-                      | DOCUMENT_NODE LPAR ElementTest:e RPAR
-		         {: RESULT = new DocumentTest(DocumentTest.ELEMENT,e); :}
-                      | DOCUMENT_NODE LPAR SchemaElementTest:e RPAR
-		         {: RESULT = new DocumentTest(DocumentTest.SCHEMA_ELEMENT,e); :}
-		      ;
-
-TextTest            ::= TEXT LPAR RPAR {: RESULT = new TextTest(); :};
-
-CommentTest         ::= COMMENT LPAR RPAR {: RESULT = new CommentTest(); :};
-
-PITest               ::= PROCESSING_INSTRUCTION LPAR RPAR
-			  {: RESULT = new PITest(); :}
-                       | PROCESSING_INSTRUCTION LPAR NCName:n  RPAR
-			  {: RESULT = new PITest(n); :}
-                       | PROCESSING_INSTRUCTION LPAR StringLiteral:s RPAR
-			  {: RESULT = new PITest(s.string()); :}
-		       ;
-
-AttributeTest        ::= ATTRIBUTE LPAR RPAR
-			  {: RESULT = new AttributeTest(); :}
-                       | ATTRIBUTE LPAR AttribNameOrWildcard:a RPAR
-		          {:
-			     // XXX: wildcard!!
-			     boolean wild = false;
-			     if(a == null)
-			     	wild = true;
-				
-			     RESULT = new AttributeTest(a,wild);
-			  :}   
-                       | ATTRIBUTE LPAR AttribNameOrWildcard:a COMMA TypeName:t RPAR
-		          {:
-			     // XXX: wildcard!!
-			     boolean wild = false;
-			     if(a == null)
-			     	wild = true;
-				
-			     RESULT = new AttributeTest(a,wild,t);
-			  :}   
-		       ;
-
-AttribNameOrWildcard ::= AttributeName:a {: RESULT = a; :}
-                       | STAR {: RESULT = null; /* XXX */ :}
-		       ;
-
-SchemaAttributeTest  ::= SCHEMA_ATTRIBUTE LPAR AttributeDeclaration:a RPAR
-		          {: RESULT = new SchemaAttrTest(a); :}
-		       ;
-
-AttributeDeclaration ::= AttributeName:n {: RESULT = n; :};
-
-ElementTest          ::= ELEMENT LPAR RPAR {: RESULT = new ElementTest(); :}
-                       | ELEMENT LPAR ElementNameOrWildcard:e RPAR
-		          {:
-			     // XXX: wildcard!!
-			     boolean wild = false;
-			     if(e == null)
-			     	wild = true;
-				
-			     RESULT = new ElementTest(e,wild);
-			  :}   
-                       | ELEMENT LPAR ElementNameOrWildcard:e COMMA TypeName:t RPAR
-		          {:
-			     // XXX: wildcard!!
-			     boolean wild = false;
-			     if(e == null)
-			     	wild = true;
-				
-			     RESULT = new ElementTest(e,wild,t);
-			  :}   
-                       | ELEMENT LPAR ElementNameOrWildcard:e COMMA TypeName:t QUESTIONMARK RPAR
-		          {:
-			     // XXX: wildcard!!
-			     boolean wild = false;
-			     if(e == null)
-			     	wild = true;
-				
-			     RESULT = new ElementTest(e,wild,t,true);
-			  :}   
-		       ;
-
-ElementNameOrWildcard ::= ElementName:e {: RESULT = e; :}
-                        | STAR {: RESULT = null; /* XXX */ :}
-			;
-
-SchemaElementTest     ::= SCHEMA_ELEMENT LPAR ElementDeclaration:e RPAR
-			    {: RESULT = new SchemaElemTest(e); :}
-			;
-
-ElementDeclaration    ::= ElementName:n {: RESULT = n; :};
-
-AttributeName         ::= QName:n {: RESULT = n; :};
-
-ElementName           ::= QName:n {: RESULT = n; :};
-
-TypeName              ::= QName:n {: RESULT = n; :};
-
-IntegerLiteral        ::= INTEGER:i {: RESULT = new IntegerLiteral(i); :};
-   
-DecimalLiteral        ::= DECIMAL:d 
-			    {: RESULT = new DecimalLiteral(d); :}
-			;    
-
-DoubleLiteral         ::= DOUBLE:d
-			    {: RESULT = new DoubleLiteral(d.doubleValue()); :}
-			;    
-
-StringLiteral         ::= STRING:s {: RESULT = new StringLiteral(s); :};
-
-VarName               ::= QName:n {: RESULT = n; :};
-
-QName                 ::= UnqualifiedLocalPart:l {: RESULT = new QName(l); :}
-                        | Prefix:p COLON LocalPart:l {: RESULT = new QName(p,l); :}
-						;
-
-Prefix                ::= NCName:n {: RESULT = n; :};
-
-LocalPart             ::= NCName:n {: RESULT = n; :};
-
-UnqualifiedLocalPart  ::= UnqualifiedNCName:n {: RESULT = n; :};
-
-NCName                ::= NCNAME:n {: RESULT = n; :} |
-						  TO:n	   {: RESULT = new String("to"); :} |
-						  CHILD:n  {: RESULT = new String("child"); :} |
-						  DESCENDANT:n {: RESULT = new String("descendant"); :} |
-						  ATTRIBUTE:n {: RESULT = new String("attribute"); :} |
-						  SELF:n {: RESULT = new String("self"); :} |
-						  DESCENDANT_OR_SELF:n {: RESULT = new String("descendant-of-self"); :} |
-						  FOLLOWING_SIBLING:n {: RESULT = new String("following-sibling"); :} |
-						  FOLLOWING:n {: RESULT = new String("following"); :} |
-						  NAMESPACE:n {: RESULT = new String("namespace"); :} |
-						  PARENT:n {: RESULT = new String("parent"); :} |
-						  ANCESTOR:n {: RESULT = new String("ancestor"); :} |
-						  PRECEDING_SIBLING:n {: RESULT  = new String("preceding-sibling"); :} |
-						  PRECEDING:n {: RESULT = new String("preceding"); :} |
-						  ANCESTOR_OR_SELF:n {: RESULT = new String("ancestor-or-self"); :} |
-						  UNION:n {: RESULT = new String("union"); :} |
-						  INTERSECT:n {: RESULT = new String("intersect"); :} |
-						  EXCEPT:n {: RESULT = new String("except"); :} |
-						  INSTANCE:n {: RESULT = new String("instance"); :} |
-						  OF:n {: RESULT = new String("of"); :} |
-						  TREAT:n {: RESULT = new String("as"); :} |
-						  CASTABLE:n {: RESULT = new String("castable"); :} |
-						  CAST:n {: RESULT = new String("cast"); :} |
-						  IS:n {: RESULT = new String("is"); :} |
-						  FOR:n {: RESULT = new String("for"); :} |
-						  IN:n {: RESULT = new String("in"); :} |
-						  RETURN:n {: RESULT = new String("return"); :} |
-						  SATISFIES:n {: RESULT = new String("satisfies"); :} |
-						  SOME:n {: RESULT = new String("some"); :} |
-						  EVERY:n {: RESULT = new String("every"); :} |
-						  IF:n {: RESULT = new String("if"); :} |
-						  THEN:n {: RESULT = new String("then"); :} |
-						  ELSE:n {: RESULT = new String("else"); :} |
-						  AND:n {: RESULT = new String("and"); :} |
-						  OR:n {: RESULT = new String("or"); :} |
-						  DIV:n {: RESULT = new String("div"); :} |
-						  IDIV:n {: RESULT = new String("idiv"); :} |
-						  COMMENT:n {: RESULT = new String("comment"); :} |
-						  DOCUMENT_NODE:n {: RESULT = new String("document-node"); :} |
-						  ELEMENT:n {: RESULT = new String("element"); :} |
-						  EMPTY_SEQUENCE:n {: RESULT = new String("empty-sequence"); :} |
-						  ITEM:n {: RESULT = new String("item"); :} |
-						  NODE:n {: RESULT = new String("node"); :} |
-						  PROCESSING_INSTRUCTION:n {: RESULT = new String("processing-instruction"); :} |
-						  SCHEMA_ATTRIBUTE:n {: RESULT = new String("schema-attribute"); :} |
-						  SCHEMA_ELEMENT:n {: RESULT = new String("schema-element"); :} |
-						  TEXT:n {: RESULT = new String("text"); :} |
-						  TYPESWITCH:n {: RESULT = new String("typeswitch"); :} |
-						  MOD:n {: RESULT = new String("mod"); :} |
-						  STAR:n {: RESULT = new String("*"); :}
-			; 
-
-UnqualifiedNCName     ::= NCNAME:n {: RESULT = n; :} |
-						  TO:n	   {: RESULT = new String("to"); :} |
-						  CHILD:n  {: RESULT = new String("child"); :} |
-						  DESCENDANT:n {: RESULT = new String("descendant"); :} |
-						  SELF:n {: RESULT = new String("self"); :} |
-						  DESCENDANT_OR_SELF:n {: RESULT = new String("descendant-of-self"); :} |
-						  FOLLOWING_SIBLING:n {: RESULT = new String("following-sibling"); :} |
-						  FOLLOWING:n {: RESULT = new String("following"); :} |
-						  NAMESPACE:n {: RESULT = new String("namespace"); :} |
-						  PARENT:n {: RESULT = new String("parent"); :} |
-						  ANCESTOR:n {: RESULT = new String("ancestor"); :} |
-						  PRECEDING_SIBLING:n {: RESULT  = new String("preceding-sibling"); :} |
-						  PRECEDING:n {: RESULT = new String("preceding"); :} |
-						  ANCESTOR_OR_SELF:n {: RESULT = new String("ancestor-or-self"); :} |
-						  UNION:n {: RESULT = new String("union"); :} |
-						  INTERSECT:n {: RESULT = new String("intersect"); :} |
-						  EXCEPT:n {: RESULT = new String("except"); :} |
-						  INSTANCE:n {: RESULT = new String("instance"); :} |
-						  OF:n {: RESULT = new String("of"); :} |
-						  TREAT:n {: RESULT = new String("as"); :} |
-						  CASTABLE:n {: RESULT = new String("castable"); :} |
-						  CAST:n {: RESULT = new String("cast"); :} |
-						  IS:n {: RESULT = new String("is"); :} |
-						  FOR:n {: RESULT = new String("for"); :} |
-						  IN:n {: RESULT = new String("in"); :} |
-						  RETURN:n {: RESULT = new String("return"); :} |
-						  SATISFIES:n {: RESULT = new String("satisfies"); :} |
-						  SOME:n {: RESULT = new String("some"); :} |
-						  EVERY:n {: RESULT = new String("every"); :} |
-						  THEN:n {: RESULT = new String("then"); :} |
-						  ELSE:n {: RESULT = new String("else"); :} |
-						  AND:n {: RESULT = new String("and"); :} |
-						  OR:n {: RESULT = new String("or"); :} |
-						  DIV:n {: RESULT = new String("div"); :} |
-						  IDIV:n {: RESULT = new String("idiv"); :} |
-						  MOD:n {: RESULT = new String("mod"); :}
-						  STAR:n {: RESULT = new String("*"); :}
-						  
-			; 
-			
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/grammars/xpath.lex b/bundles/org.eclipse.wst.xml.xpath2.processor/grammars/xpath.lex
deleted file mode 100644
index b111f2b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/grammars/xpath.lex
+++ /dev/null
@@ -1,195 +0,0 @@
-// *******************************************************************************
-// * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
-// * All rights reserved. This program and the accompanying materials
-// * are made available under the terms of the Eclipse Public License v1.0
-// * which accompanies this distribution, and is available at
-// * http://www.eclipse.org/legal/epl-v10.html
-// *
-// * Contributors:
-// *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
-// *     David Carver - bug 280987 - fixed literal issues for integer and decimal
-// *     Jesper S Moller - bug 283214 - fix IF THEN ELSE parsing and update grammars
-// *     Jesper S Moller - bug 286061   correct handling of quoted string 
-// *     Jesper Moller - bug 297707 - Missing the empty-sequence() type
-// *******************************************************************************/
-
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import java_cup.runtime.*;
-
-%%
-
-%class XPathFlex
-%unicode
-%cup
-%line
-%column
-
-Whitespace 	= [ \t\r\n]
-StringLiteral 	= (\" ((\"\") | [^\"])* \") | (\' ((\'\') | [^\'])* \')
-Digits		= [0-9]+
-DoubleLiteral	= ((\. {Digits}) | ({Digits} (\. [0-9]*)?)) [eE] [\+\-]?  {Digits}
-DecimalLiteral  = (\. {Digits}) | ({Digits} \. [0-9]*)
-
-Letter		= [a-zA-Z]
-NCNameChar      = {Letter} | [0-9] | \. | \- | "_"
-NCName		= ( {Letter} | "_") ( {NCNameChar} )*
-
-
-%{
-	public int lineno() { return yyline + 1; }
-	public int colno() { return yycolumn + 1; }
-
-	private Symbol symbol(int type) {
-		return new Symbol(type, lineno(), colno());
-	}
-	private Symbol symbol(int type, Object value) {
-		return new Symbol(type, lineno(), colno(), value);
-	}
-
-	private int commentLevel = 0;
-%}
-
-%state COMMENT
-
-%%
-
-<YYINITIAL> {
-
-"(:"			{ commentLevel++; // int overflow =P
-			  yybegin(COMMENT); 
-			}
-
-"\["	{ return symbol(XpathSym.LBRACKET); }
-"\]"	{ return symbol(XpathSym.RBRACKET); }
-"\("	{ return symbol(XpathSym.LPAR); }
-"\)"	{ return symbol(XpathSym.RPAR); }
-
-"\+"	{ return symbol(XpathSym.PLUS); }
-"\-"	{ return symbol(XpathSym.MINUS); }
-"\*"	{ return symbol(XpathSym.STAR); }
-"\|"	{ return symbol(XpathSym.PIPE); }
-
-"="	{ return symbol(XpathSym.EQUALS); }
-"!="	{ return symbol(XpathSym.NOTEQUALS); }
-"<"	{ return symbol(XpathSym.LESSTHAN); }
-"<="	{ return symbol(XpathSym.LESSEQUAL); }
-">"	{ return symbol(XpathSym.GREATER); }
-">="	{ return symbol(XpathSym.GREATEREQUAL); }
-
-"<<"	{ return symbol(XpathSym.LESS_LESS); }
-">>"	{ return symbol(XpathSym.GREATER_GREATER); }
-
-"/"	{ return symbol(XpathSym.FORWARD_SLASH); }
-"//"	{ return symbol(XpathSym.FORWARD_SLASHSLASH); }
-
-"::"	{ return symbol(XpathSym.COLONCOLON); }
-"@"	{ return symbol(XpathSym.AT_SYM); }
-"\.\."	{ return symbol(XpathSym.DOTDOT); }
-":"	{ return symbol(XpathSym.COLON); }
-","	{ return symbol(XpathSym.COMMA); }
-"\$"	{ return symbol(XpathSym.DOLLAR); }
-"\."	{ return symbol(XpathSym.DOT); }
-"\?"	{ return symbol(XpathSym.QUESTIONMARK); }
-
-
-"child"				{ return symbol(XpathSym.CHILD); }
-"descendant"			{ return symbol(XpathSym.DESCENDANT); }
-"attribute"			{ return symbol(XpathSym.ATTRIBUTE); }
-"self"				{ return symbol(XpathSym.SELF); }
-"descendant\-or\-self"		{ return symbol(XpathSym.DESCENDANT_OR_SELF); }
-
-"following\-sibling"		{ return symbol(XpathSym.FOLLOWING_SIBLING); }
-"following"			{ return symbol(XpathSym.FOLLOWING); }
-"namespace"			{ return symbol(XpathSym.NAMESPACE); }
-"parent"			{ return symbol(XpathSym.PARENT); }
-
-"ancestor"			{ return symbol(XpathSym.ANCESTOR); }
-"preceding\-sibling"		{ return symbol(XpathSym.PRECEDING_SIBLING); }
-"preceding"			{ return symbol(XpathSym.PRECEDING); }
-"ancestor\-or\-self"		{ return symbol(XpathSym.ANCESTOR_OR_SELF); }
-
-"eq"				{ return symbol(XpathSym.EQ); }
-"ne"				{ return symbol(XpathSym.NE); }
-"lt"				{ return symbol(XpathSym.LT); }
-"le"				{ return symbol(XpathSym.LE); }
-"gt"				{ return symbol(XpathSym.GT); }
-"ge"				{ return symbol(XpathSym.GE); }
-
-"idiv"				{ return symbol(XpathSym.IDIV); }
-"div"				{ return symbol(XpathSym.DIV); }
-"mod"				{ return symbol(XpathSym.MOD); }
-
-"union"				{ return symbol(XpathSym.UNION); }
-"intersect"			{ return symbol(XpathSym.INTERSECT); }
-"except"			{ return symbol(XpathSym.EXCEPT); }
-
-"instance"			{ return symbol(XpathSym.INSTANCE); }
-"treat"				{ return symbol(XpathSym.TREAT); }
-"castable"			{ return symbol(XpathSym.CASTABLE); }
-"cast"				{ return symbol(XpathSym.CAST); }
-"as"				{ return symbol(XpathSym.AS); }
-"of"				{ return symbol(XpathSym.OF); }
-"is"				{ return symbol(XpathSym.IS); }
-
-"for"				{ return symbol(XpathSym.FOR); }
-"in"				{ return symbol(XpathSym.IN); }
-"return"			{ return symbol(XpathSym.RETURN); }
-"satisfies"			{ return symbol(XpathSym.SATISFIES); }
-"to"				{ return symbol(XpathSym.TO); }
-"some"				{ return symbol(XpathSym.SOME); }
-"every"				{ return symbol(XpathSym.EVERY); }
-"if"				{ return symbol(XpathSym.IF); }
-"then"				{ return symbol(XpathSym.THEN); }
-"else"				{ return symbol(XpathSym.ELSE); }
-"and"				{ return symbol(XpathSym.AND); }
-"or"				{ return symbol(XpathSym.OR); }
-
-"empty-sequence"	{ return symbol(XpathSym.EMPTY_SEQUENCE); }
-"item"				{ return symbol(XpathSym.ITEM); }
-"node"				{ return symbol(XpathSym.NODE); }
-"document\-node"		{ return symbol(XpathSym.DOCUMENT_NODE); }
-"text"				{ return symbol(XpathSym.TEXT); }
-"comment"			{ return symbol(XpathSym.COMMENT); }
-"processing\-instruction"	{ return symbol(XpathSym.PROCESSING_INSTRUCTION); }
-"schema\-attribute"		{ return symbol(XpathSym.SCHEMA_ATTRIBUTE); }
-"element"			{ return symbol(XpathSym.ELEMENT); }
-"schema\-element"		{ return symbol(XpathSym.SCHEMA_ELEMENT); }
-"typeswitch"        { return symbol(XpathSym.TYPESWITCH); }
-
-{StringLiteral}		{
-				// get rid of quotes
-				String str = yytext();
-				assert str.length() >= 2;
-				return symbol(XpathSym.STRING, org.eclipse.wst.xml.xpath2.processor.internal.utils.LiteralUtils.unquote(str)); 
-			}
-{Digits}		{ return symbol(XpathSym.INTEGER, new BigInteger(yytext())); }
-{DoubleLiteral}		{ return symbol(XpathSym.DOUBLE, new Double(yytext())); }
-{DecimalLiteral}	{ return symbol(XpathSym.DECIMAL, new BigDecimal(yytext())); }
-{NCName}		{ return symbol(XpathSym.NCNAME, yytext()); }
-
-
-
-
-{Whitespace} { /* ignore */ }
-
-
-.	{ 
-		String err = "Unknown character at line " + lineno(); 
-		err += " col " + colno();
-		err += ": " + yytext(); 
-			     
-		throw new JFlexError(err); 
-	}
-
-}
-
-<COMMENT> {
-	"(:"		{ commentLevel++; }
-	":)"		{ commentLevel--; 
-			  if(commentLevel == 0)
-		          	yybegin(YYINITIAL);
-			}
-	.|\n		{ /* ignore */ }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/plugin.properties b/bundles/org.eclipse.wst.xml.xpath2.processor/plugin.properties
deleted file mode 100644
index cb93f37..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-provider=Eclipse Web Tools Platform
-pluginName=PsychoPath XPath 2.0 Processor
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/CollationProvider.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/CollationProvider.java
deleted file mode 100644
index e4ffe62..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/CollationProvider.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Jesper Moller, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Jesper Moller - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import java.util.Comparator;
-
-/**
- * Service provider interface for looking up collations from within the dynamic context.
- * @since 1.1
- */
-public interface CollationProvider {
-	/**
-	 * Gets the named collator. W3C does not define collation names (yet?) so we are constrained to using an
-	 * implementation-defined naming scheme.
-	 * 
-	 * @param name A URI designating the collation to use
-	 * @return The collation to use, or null if no such collation exists by this provider
-	 */
-	Comparator get_collation(String name);
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DOMBuilder.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DOMBuilder.java
deleted file mode 100644
index 53d7f32..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DOMBuilder.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moller - Doc fixes
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import java.io.*;
-
-import org.w3c.dom.*;
-import javax.xml.parsers.*;
-import org.xml.sax.*;
-
-/**
- * The DOM builder loads an DOM from an InputStream. The loading is always namespace aware.
- */
-public class DOMBuilder implements DOMLoader {
-	boolean _validating;
-	boolean _namespace_aware;
-
-	/**
-	 * Constructor for DOM builder.
-	 */
-	public DOMBuilder() {
-		_validating = false;
-	}
-
-	/**
-	 * Loads The XML document.
-	 * 
-	 * @param in
-	 *            is the input stream.
-	 * @throws DOMLoaderException
-	 *             DOM loader exception.
-	 * @return The loaded document.
-	 */
-	// XXX: fix error reporting
-	public Document load(InputStream in) throws DOMLoaderException {
-
-		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-
-		factory.setNamespaceAware(true);
-		factory.setValidating(_validating);
-
-		try {
-			DocumentBuilder builder = factory.newDocumentBuilder();
-
-			// if(_validating) {
-			builder.setErrorHandler(new ErrorHandler() {
-				public void fatalError(SAXParseException e) throws SAXException {
-					throw e;
-				}
-
-				public void error(SAXParseException e) throws SAXParseException {
-					throw e;
-				}
-
-				public void warning(SAXParseException e)
-						throws SAXParseException {
-					throw e; // XXX
-				}
-			});
-			// }
-			return builder.parse(in);
-		} catch (SAXException e) {
-			throw new DOMLoaderException("SAX exception: " + e.getMessage());
-		} catch (ParserConfigurationException e) {
-			throw new DOMLoaderException("Parser configuration exception: "
-					+ e.getMessage());
-		} catch (IOException e) {
-			throw new DOMLoaderException("IO exception: " + e.getMessage());
-		}
-	}
-
-	/**
-	 * Set validating boolean.
-	 * 
-	 * @param x
-	 *            is the value to set the validating boolean to.
-	 */
-	public void set_validating(boolean x) {
-		_validating = x;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DOMLoader.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DOMLoader.java
deleted file mode 100644
index 2bd1855..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DOMLoader.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moller - Documented namespace awareness
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import org.w3c.dom.Document;
-import java.io.InputStream;
-
-/**
- * The DOM loader loads the XML document.
- */
-public interface DOMLoader {
-
-	/**
-	 * The DOM loader loads the XML docuemnt
-	 * 
-	 * @param in
-	 *            is the input stream.
-	 * @throws DOMLoaderException
-	 *             DOM loader exception.
-	 * @return The loaded document. The document is always loaded as namespace-aware
-	 */
-	public Document load(InputStream in) throws DOMLoaderException;
-
-	/**
-	 * Set validating boolean.
-	 * 
-	 * @param val
-	 *            is the validating boolean.
-	 */
-	// XXX: default is false ?! [document it ?]
-	public void set_validating(boolean val);
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DOMLoaderException.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DOMLoaderException.java
deleted file mode 100644
index 2fe583f..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DOMLoaderException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-
-/**
- * Exception caused by DOM loader.
- */
-public class DOMLoaderException extends XPathException {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = -7652865222211067201L;
-
-	/**
-	 * Constructor for DOM loader exception.
-	 * 
-	 * @param reason
-	 *            is the reason for the exception.
-	 */
-	public DOMLoaderException(String reason) {
-		super(reason);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DefaultDynamicContext.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DefaultDynamicContext.java
deleted file mode 100644
index f1348af..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DefaultDynamicContext.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- *     David Carver - bug 282223 - implementation of xs:duration data type.
- *                  - bug 262765 - fix handling of range expression op:to and empty sequence 
- *     Jesper Moller- bug 281159 - fix document loading and resolving URIs 
- *     Jesper Moller- bug 286452 - always return the stable date/time from dynamic context
- *     Jesper Moller- bug 275610 - Avoid big time and memory overhead for externals
- *     Jesper Moller- bug 280555 - Add pluggable collation support
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import org.apache.xerces.xs.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.DefaultStaticContext;
-import org.eclipse.wst.xml.xpath2.processor.internal.Focus;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-import org.w3c.dom.*;
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URL;
-
-/**
- * The default implementation of a Dynamic Context.
- * 
- * Initializes and provides functionality of a dynamic context according to the
- * XPath 2.0 specification.
- */
-public class DefaultDynamicContext extends DefaultStaticContext implements
-		DynamicContext {
-
-	private Focus _focus;
-	private XSDuration _tz;
-	private Map _loaded_documents;
-	private GregorianCalendar _current_date_time;
-	private String _default_collation_name = CODEPOINT_COLLATION;
-	private CollationProvider _collation_provider;
-
-	/**
-	 * Constructor.
-	 * 
-	 * @param schema
-	 *            Schema information of document. May be null
-	 * @param doc
-	 *            Document [root] node of XML source.
-	 */
-	public DefaultDynamicContext(XSModel schema, Document doc) {
-		super(schema);
-
-		_focus = null;
-		_tz = new XSDayTimeDuration(0, 5, 0, 0, true);
-		_loaded_documents = new HashMap();
-	}
-
-	/**
-	 * Reads the day from a TimeDuration type
-	 * 
-	 * @return an xs:integer _tz
-	 * @since 1.1
-	 */
-	public XSDuration tz() {
-		return _tz;
-	}
-
-	/**
-	 * Gets the Current stable date time from the dynamic context.
-	 * @since 1.1
-	 * @see org.eclipse.wst.xml.xpath2.processor.DynamicContext#get_current_time()
-	 */
-	public GregorianCalendar current_date_time() {
-		if (_current_date_time == null) {
-			_current_date_time = new GregorianCalendar(TimeZone.getTimeZone("GMT"));
-		}
-		return _current_date_time;
-	}
-	
-	/**
-	 * Changes the current focus.
-	 * 
-	 * @param f
-	 *            focus to set
-	 */
-	public void set_focus(Focus f) {
-		_focus = f;
-	}
-
-	/**
-	 * Return the focus
-	 * 
-	 * @return _focus
-	 */
-	public Focus focus() {
-		return _focus;
-	}
-
-	/**
-	 * Retrieve context item that is in focus
-	 * 
-	 * @return an AnyType result from _focus.context_item()
-	 */
-	public AnyType context_item() {
-		return _focus.context_item();
-	}
-
-	/**
-	 * Retrieve the position of the focus
-	 * 
-	 * @return an integer result from _focus.position()
-	 */
-	public int context_position() {
-		return _focus.position();
-	}
-
-	/**
-	 * Retrieve the position of the last focus
-	 * 
-	 * @return an integer result from _focus.last()
-	 */
-	public int last() {
-		return _focus.last();
-	}
-
-	/**
-	 * Retrieve the variable name
-	 * 
-	 * @return an AnyType result from get_var(name) or return NULL
-	 */
-	public AnyType get_variable(QName name) {
-		// XXX: built-in variables
-		if ("fs".equals(name.prefix())) {
-			if (name.local().equals("dot"))
-				return context_item();
-
-			return null;
-		}
-		return get_var(name);
-	}
-
-	/**
-	 * 
-	 * @return a ResultSequence from funct.evaluate(args)
-	 */
-	public ResultSequence evaluate_function(QName name, Collection args)
-			throws DynamicError {
-		Function funct = function(name, args.size());
-
-		assert funct != null;
-
-		return funct.evaluate(args);
-	}
-
-	/**
-	 * Adds function definitions.
-	 * 
-	 * @param fl
-	 *            Function library to add.
-	 * 
-	 */
-	@Override
-	public void add_function_library(FunctionLibrary fl) {
-		super.add_function_library(fl);
-		fl.set_dynamic_context(this);
-	}
-
-	/**
-	 * get document
-	 * 
-	 * @return a ResultSequence from ResultSequenceFactory.create_new()
-	 * @since 1.1
-	 */
-	public ResultSequence get_doc(URI resolved) {
-		Document doc = null;
-		if (_loaded_documents.containsKey(resolved)) {
-			 //tried before
-			doc = (Document)_loaded_documents.get(resolved);
-		} else {
-			doc = retrieve_doc(resolved);
-			_loaded_documents.put(resolved, doc);
-		}
-
-		if (doc == null)
-			return null;
-
-		return ResultSequenceFactory.create_new(new DocType(doc));
-	}
-	/**
-	 * @since 1.1
-	 */
-	public URI resolve_uri(String uri) {
-		try {
-			URI realURI = URI.create(uri);
-			if (realURI.isAbsolute()) {
-				return realURI;
-			} else {
-				URI baseURI = URI.create(base_uri().string_value());
-				return baseURI.resolve(uri);
-			}
-		} catch (IllegalArgumentException iae) {
-			return null;
-		}
-	}
-
-	// XXX make it nice, and move it out as a utility function
-	private Document retrieve_doc(URI uri) {
-		try {
-			DOMLoader loader = new XercesLoader();
-			loader.set_validating(false);
-
-			Document doc = loader.load(new URL(uri.toString()).openStream());
-			doc.setDocumentURI(uri.toString());
-			return doc;
-		} catch (DOMLoaderException e) {
-			return null;
-		} catch (FileNotFoundException e) {
-			return null;
-		} catch (MalformedURLException e) {
-			return null;
-		} catch (IOException e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Sets the value of a variable.
-	 * 
-	 * @param var
-	 *            Variable name.
-	 * @param val
-	 *            Variable value.
-	 */
-	@Override
-	public void set_variable(QName var, AnyType val) {
-		super.set_variable(var, val);
-	}
-
-	/**
-	 * @since 1.1
-	 */
-	public void set_default_collation(String _default_collation) {
-		this._default_collation_name = _default_collation;
-	}
-
-	/**
-	 * @since 1.1
-	 */
-	public String default_collation_name() {
-		return _default_collation_name;
-	}
-
-	// We are explicitly NOT using generics here, in anticipation of JDK1.4 compatibility
-	private static Comparator CODEPOINT_COMPARATOR = new Comparator() {
-		
-		public int compare(Object o1, Object o2) {
-			return ((String)o1).compareTo((String)o2);
-		}
-	};
-	
-	/**
-	 * @since 1.1
-	 * 
-	 */
-	public Comparator<Object> get_collation(String uri) {
-		if (CODEPOINT_COLLATION.equals(uri)) return CODEPOINT_COMPARATOR;
-		
-		return _collation_provider != null ? _collation_provider.get_collation(uri) : null;
-	}
-	
-	/**
-	 * 
-	 * 
-	 * @param provider
-	 * @since 1.1
-	 */
-	public void set_collation_provider(CollationProvider provider) {
-		this._collation_provider = provider;
-	}
-	
-	/**
-	 * Use focus().position() to retrieve the value.
-	 * @deprecated  This will be removed in a future version use focus().position().
-	 */
-	@Deprecated
-	public int node_position(Node node) {
-	  // unused parameter!
-	  return _focus.position();	
-	}
-	
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DefaultEvaluator.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DefaultEvaluator.java
deleted file mode 100644
index 2e6a789..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DefaultEvaluator.java
+++ /dev/null
@@ -1,1921 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 274805 - improvements to xs:integer data type 
- *     Jesper Steen Moeller - bug 285145 - check arguments to op:to
- *     Jesper Steen Moeller - bug 262765 - fixed node state iteration
- *     Jesper Steen Moller  - bug 275610 - Avoid big time and memory overhead for externals
- *     Jesper Steen Moller  - bug 280555 - Add pluggable collation support
- *     Jesper Steen Moller  - bug 281938 - undefined context should raise error
- *     Jesper Steen Moller  - bug 262765 - use correct 'effective boolean value'
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import java.math.BigInteger;
-import java.util.*;
-import org.w3c.dom.*;
-import org.apache.xerces.xs.*;
-import org.eclipse.wst.xml.xpath2.processor.ast.XPath;
-import org.eclipse.wst.xml.xpath2.processor.internal.Axis;
-import org.eclipse.wst.xml.xpath2.processor.internal.DescendantOrSelfAxis;
-import org.eclipse.wst.xml.xpath2.processor.internal.Focus;
-import org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis;
-import org.eclipse.wst.xml.xpath2.processor.internal.ParentAxis;
-import org.eclipse.wst.xml.xpath2.processor.internal.ReverseAxis;
-import org.eclipse.wst.xml.xpath2.processor.internal.SelfAxis;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.StaticNameError;
-import org.eclipse.wst.xml.xpath2.processor.internal.StaticTypeNameError;
-import org.eclipse.wst.xml.xpath2.processor.internal.TypeError;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * Default evaluator interface
- */
-public class DefaultEvaluator implements XPathVisitor, Evaluator {
-
-	static class DummyError extends Error {
-		/**
-		 * 
-		 */
-		private static final long serialVersionUID = 3161644790881405403L;
-		// 0: dynamic error
-		// 1: type error
-		private int _type;
-
-		public DummyError(int type) {
-			_type = type;
-		}
-
-		public int type() {
-			return _type;
-		}
-	}
-
-	private DynamicContext _dc;
-	private XPathException _err;
-
-	// stuff anyone may use
-	private Collection _g_coll;
-	private XSInteger _g_xsint;
-
-	// this is a parameter that may be set on a call...
-	// the parameter may become invalid on the next call... i.e. the
-	// previous parameter is not saved... so use with care! [remember...
-	// this thing is highly recursive]
-	private Object _param;
-
-	static class Pair {
-		public Object _one;
-		public Object _two;
-
-		public Pair(Object o, Object t) {
-			_one = o;
-			_two = t;
-		}
-	}
-
-	/**
-	 * set parameters
-	 * 
-	 * @param dc
-	 *            is the dynamic context.
-	 * @param doc
-	 *            is the document.
-	 */
-	public DefaultEvaluator(DynamicContext dc, Document doc) {
-		_dc = dc;
-		_err = null;
-
-		// initialize context item with root of document
-		ResultSequence rs = ResultSequenceFactory.create_new();
-		if (doc != null) rs.add(new DocType(doc));
-
-		_dc.set_focus(new Focus(rs));
-
-		_param = null;
-
-		_g_coll = new ArrayList();
-		_g_xsint = new XSInteger();
-	}
-
-	// XXX this kinda sux
-	// the problem is that visistor interface does not throw exceptions...
-	// so we get around it ;D
-	private void report_error(DynamicError err) {
-		_err = err;
-		throw new DummyError(0);
-	}
-
-	private void report_error(TypeError err) {
-		_err = err;
-		throw new DummyError(1);
-	}
-
-	private void report_error(StaticNameError err) {
-		throw new DummyError(666);
-	}
-
-	/**
-	 * evaluate the xpath node
-	 * 
-	 * @param node
-	 *            is the xpath node.
-	 * @throws dynamic
-	 *             error.
-	 * @return result sequence.
-	 */
-	public ResultSequence evaluate(XPathNode node) throws DynamicError {
-		try {
-			return (ResultSequence) node.accept(this);
-		} catch (DummyError e) {
-			switch (e.type()) {
-			case 0:
-				throw (DynamicError) _err;
-			case 1:
-				throw new DynamicError((TypeError) _err);
-
-			default:
-				assert false;
-			}
-		}
-
-		return null; // unreach
-
-	}
-
-	// basically the comma operator...
-	private ResultSequence do_expr(Iterator i) {
-
-		ResultSequence rs = null;
-
-		while (i.hasNext()) {
-			Expr e = (Expr) i.next();
-
-			ResultSequence result = (ResultSequence) e.accept(this);
-
-			if (rs == null)
-				rs = result;
-			else
-				rs.concat(result);
-		}
-
-		if (rs == null)
-			rs = ResultSequenceFactory.create_new();
-		return rs;
-	}
-
-	/**
-	 * iterate through xpath expression
-	 * 
-	 * @param xp
-	 *            is the xpath.
-	 * @return result sequence.
-	 */
-	public Object visit(XPath xp) {
-		ResultSequence rs = do_expr(xp.iterator());
-
-		return rs;
-	}
-
-	// XXX ugly
-	// type: 0 = for [return == "correct"]
-	// 1 = for all [return false, return empty on true]
-	// 2 = there exists [return true, return empty on false]
-	private ResultSequence do_for_quantified_expr(ListIterator iter,
-			Expr finalexpr, int type) {
-
-		// we have more vars to bind...
-		if (iter.hasNext()) {
-			boolean allocated_var = false;
-			ResultSequence result = ResultSequenceFactory.create_new();
-			VarExprPair ve = (VarExprPair) iter.next();
-
-			// evaluate binding sequence
-			ResultSequence rs = (ResultSequence) ve.expr().accept(this);
-
-			// XXX
-			if (rs.empty()) {
-				iter.previous();
-				return result;
-			}
-
-			QName varname = ve.varname();
-
-			// for each item of binding sequence, bind the range
-			// variable and do the expression, concatenating the
-			// result
-
-			for (Iterator i = rs.iterator(); i.hasNext();) {
-				AnyType item = (AnyType) i.next();
-
-				_dc.set_variable(varname, item);
-				allocated_var = true;
-
-				_dc.new_scope();
-				ResultSequence res = do_for_quantified_expr(iter, finalexpr,
-						type);
-				_dc.destroy_scope();
-				assert res != null;
-
-				// ok here we got a "real" result, now figure
-				// out what to do with it
-				XSBoolean effbool = null;
-				switch (type) {
-				// for expression
-				case 0:
-					result.concat(res);
-					break;
-
-				// we need the effective boolean value
-				// of the expression
-				case 1:
-				case 2:
-					effbool = effective_boolean_value(res);
-					break;
-
-				default:
-					assert false;
-				}
-
-				// we got a quantified expression
-				if (effbool != null) {
-					// for all
-					if (type == 1) {
-						result = ResultSequenceFactory.create_new(effbool);
-						if (!effbool.value())
-							break;
-					}
-					// there exists
-					else if (type == 2) {
-						result = ResultSequenceFactory.create_new(effbool);
-						if (effbool.value())
-							break;
-					} else
-						assert false;
-				}
-			}
-
-			if (allocated_var) {
-				boolean del = _dc.del_variable(varname);
-				assert del == true;
-			}
-
-			iter.previous();
-			return result;
-		}
-		// we finally got to do the "last expression"
-		else {
-			return (ResultSequence) finalexpr.accept(this);
-		}
-
-	}
-
-	/**
-	 * visit for expression
-	 * 
-	 * @param fex
-	 *            is the for expression.
-	 * @return a new function.
-	 */
-	public Object visit(ForExpr fex) {
-		// XXX
-		List pairs = new ArrayList(fex.ve_pairs());
-		return do_for_quantified_expr(pairs.listIterator(), fex.expr(), 0);
-	}
-
-	/**
-	 * visit quantified expression
-	 * 
-	 * @param qex
-	 *            is the quantified expression.
-	 * @return a new function or null.
-	 */
-	public Object visit(QuantifiedExpr qex) {
-		// XXX
-		List pairs = new ArrayList(qex.ve_pairs());
-
-		int hack = 0;
-
-		switch (qex.type()) {
-		case QuantifiedExpr.SOME:
-			hack = 2;
-			break;
-		case QuantifiedExpr.ALL:
-			hack = 1;
-			break;
-
-		default:
-			assert false;
-			return null; // unreach
-		}
-		ResultSequence rs = do_for_quantified_expr(pairs.listIterator(), qex
-				.expr(), hack);
-
-		// make sure we found answer
-		if (!rs.empty())
-			return rs;
-
-		// ok because all of this is a hack... here we go
-		switch (qex.type()) {
-		case QuantifiedExpr.SOME:
-			return ResultSequenceFactory.create_new(new XSBoolean(false));
-		case QuantifiedExpr.ALL:
-			return ResultSequenceFactory.create_new(new XSBoolean(true));
-		default:
-			assert false;
-			return null; // unreach
-		}
-	}
-
-	/**
-	 * visit if expression
-	 * 
-	 * @param ifex
-	 *            is the if expression.
-	 * @return a ifex.then_clause().accept(this).
-	 */
-	public Object visit(IfExpr ifex) {
-		ResultSequence test_res = do_expr(ifex.iterator());
-
-		XSBoolean res = effective_boolean_value(test_res);
-
-		if (res.value())
-			return ifex.then_clause().accept(this);
-		else
-			return ifex.else_clause().accept(this);
-	}
-
-	private boolean[] do_logic_exp(BinExpr e) {
-		Collection args = do_bin_args(e);
-
-		Iterator argiter = args.iterator();
-
-		ResultSequence one = (ResultSequence) argiter.next();
-		ResultSequence two = (ResultSequence) argiter.next();
-
-		boolean oneb = effective_boolean_value(one).value();
-		boolean twob = effective_boolean_value(two).value();
-
-		boolean res[] = { oneb, twob };
-		return res;
-	}
-
-	/**
-	 * visit or expression
-	 * 
-	 * @param orex
-	 *            is the or expression.
-	 * @return a new function
-	 */
-	public Object visit(OrExpr orex) {
-		boolean res[] = do_logic_exp(orex);
-
-		return ResultSequenceFactory
-				.create_new(new XSBoolean(res[0] || res[1]));
-	}
-
-	/**
-	 * visit and expression
-	 * 
-	 * @param andex
-	 *            is the and expression.
-	 * @return a new function
-	 */
-	public Object visit(AndExpr andex) {
-		boolean res[] = do_logic_exp(andex);
-
-		return ResultSequenceFactory
-				.create_new(new XSBoolean(res[0] && res[1]));
-	}
-
-	private ResultSequence node_cmp(int type, Collection args) {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		assert args.size() == 2;
-
-		Iterator argsiter = args.iterator();
-
-		ResultSequence one = (ResultSequence) argsiter.next();
-		ResultSequence two = (ResultSequence) argsiter.next();
-
-		int size_one = one.size();
-		int size_two = two.size();
-
-		if (size_one > 1 || size_two > 1)
-			report_error(TypeError.invalid_type(null));
-
-		if (size_one == 0 || size_two == 0)
-			return rs;
-
-		AnyType at_one = one.first();
-		AnyType at_two = two.first();
-
-		if (!(at_one instanceof NodeType) || !(at_two instanceof NodeType))
-			report_error(TypeError.invalid_type(null));
-
-		// ok we got the args finally
-		NodeType nt_one = (NodeType) at_one;
-		NodeType nt_two = (NodeType) at_two;
-
-		boolean answer = false; // we are pessimistic as usual
-
-		// do comparison
-		switch (type) {
-		case CmpExpr.IS:
-			answer = nt_one.node_value() == nt_two.node_value();
-			break;
-
-		case CmpExpr.LESS_LESS:
-			answer = nt_one.before(nt_two);
-			break;
-
-		case CmpExpr.GREATER_GREATER:
-			answer = nt_one.after(nt_two);
-			break;
-
-		default:
-			assert false;
-		}
-
-		rs.add(new XSBoolean(answer));
-		return rs;
-	}
-
-	/**
-	 * visit compare expression
-	 * 
-	 * @param cmpex
-	 *            is the compare expression.
-	 * @return a new function or null
-	 */
-	public Object visit(CmpExpr cmpex) {
-		try {
-			Collection args = do_bin_args(cmpex);
-
-			switch (cmpex.type()) {
-			case CmpExpr.EQ:
-				return FsEq.fs_eq_value(args, _dc);
-
-			case CmpExpr.NE:
-				return FsNe.fs_ne_value(args, _dc);
-
-			case CmpExpr.GT:
-				return FsGt.fs_gt_value(args, _dc);
-
-			case CmpExpr.LT:
-				return FsLt.fs_lt_value(args, _dc);
-
-			case CmpExpr.GE:
-				return FsGe.fs_ge_value(args, _dc);
-
-			case CmpExpr.LE:
-				return FsLe.fs_le_value(args, _dc);
-
-			case CmpExpr.EQUALS:
-				return FsEq.fs_eq_general(args, _dc);
-
-			case CmpExpr.NOTEQUALS:
-				return FsNe.fs_ne_general(args, _dc);
-
-			case CmpExpr.GREATER:
-				return FsGt.fs_gt_general(args, _dc);
-
-			case CmpExpr.LESSTHAN:
-				return FsLt.fs_lt_general(args, _dc);
-
-			case CmpExpr.GREATEREQUAL:
-				return FsGe.fs_ge_general(args, _dc);
-
-			case CmpExpr.LESSEQUAL:
-				return FsLe.fs_le_general(args, _dc);
-
-			case CmpExpr.IS:
-			case CmpExpr.LESS_LESS:
-			case CmpExpr.GREATER_GREATER:
-				return node_cmp(cmpex.type(), args);
-
-			default:
-				assert false;
-			}
-		} catch (DynamicError err) {
-			report_error(err);
-		}
-		return null; // unreach
-	}
-
-	/**
-	 * visit range expression
-	 * 
-	 * @param rex
-	 *            is the range expression.
-	 * @return a new function
-	 */
-	public Object visit(RangeExpr rex) {
-		ResultSequence one = (ResultSequence) rex.left().accept(this);
-		ResultSequence two = (ResultSequence) rex.right().accept(this);
-		if (one.empty() || two.empty()) return ResultSequenceFactory.create_new(); 
-		Collection args = new ArrayList();
-		args.add(one);
-		args.add(two);
-
-		try {
-			return OpTo.op_to(args);
-		} catch (DynamicError err) {
-			report_error(err);
-			return null; // unreach
-		}
-	}
-
-	private XSBoolean effective_boolean_value(ResultSequence rs) {
-		try {
-			return FnBoolean.fn_boolean(rs);
-		} catch (DynamicError err) {
-			report_error(err);
-			return null; // unreach
-		}
-	}
-
-	
-	/**
-	 * visit and expression
-	 * 
-	 * @param addex
-	 *            is the and expression.
-	 * @return a new function
-	 */
-	public Object visit(AddExpr addex) {
-		try {
-			Collection args = do_bin_args(addex);
-			return FsPlus.fs_plus(args);
-		} catch (DynamicError err) {
-			report_error(err);
-			return null; // unreach
-		}
-	}
-
-	/**
-	 * visit sub expression
-	 * 
-	 * @param subex
-	 *            is the sub expression.
-	 * @return a new function
-	 */
-	public Object visit(SubExpr subex) {
-		try {
-			Collection args = do_bin_args(subex);
-			return FsMinus.fs_minus(args);
-		} catch (DynamicError err) {
-			report_error(err);
-			return null; // unreach
-		}
-	}
-
-	/**
-	 * visit multiply expression
-	 * 
-	 * @param mulex
-	 *            is the mul expression.
-	 * @return a new function
-	 */
-	public Object visit(MulExpr mulex) {
-		try {
-			Collection args = do_bin_args(mulex);
-			return FsTimes.fs_times(args);
-		} catch (DynamicError err) {
-			report_error(err);
-			return null; // unreach
-		}
-	}
-
-	/**
-	 * visit division expression
-	 * 
-	 * @param mulex
-	 *            is the division expression.
-	 * @return a new function
-	 */
-	public Object visit(DivExpr mulex) {
-		try {
-			Collection args = do_bin_args(mulex);
-			return FsDiv.fs_div(args);
-		} catch (DynamicError err) {
-			report_error(err);
-			return null; // unreach
-		}
-	}
-
-	/**
-	 * visit integer division expression
-	 * 
-	 * @param mulex
-	 *            is the integer division expression.
-	 * @return a new function
-	 */
-	public Object visit(IDivExpr mulex) {
-		try {
-			Collection args = do_bin_args(mulex);
-			return FsIDiv.fs_idiv(args);
-		} catch (DynamicError err) {
-			report_error(err);
-			return null; // unreach
-		}
-	}
-
-	/**
-	 * visit modular expression
-	 * 
-	 * @param mulex
-	 *            is the modular expression.
-	 * @return a new function
-	 */
-	public Object visit(ModExpr mulex) {
-		try {
-			Collection args = do_bin_args(mulex);
-			return FsMod.fs_mod(args);
-		} catch (DynamicError err) {
-			report_error(err);
-			return null; // unreach
-		}
-	}
-
-	private Collection do_bin_args(BinExpr e) {
-		ResultSequence one = (ResultSequence) e.left().accept(this);
-		ResultSequence two = (ResultSequence) e.right().accept(this);
-
-		Collection args = new ArrayList();
-		args.add(one);
-		args.add(two);
-
-		return args;
-	}
-
-	/**
-	 * visit union expression
-	 * 
-	 * @param unex
-	 *            is the union expression.
-	 * @return a new function
-	 */
-	public Object visit(UnionExpr unex) {
-		try {
-			Collection args = do_bin_args(unex);
-			return OpUnion.op_union(args);
-		} catch (DynamicError err) {
-			report_error(err);
-			return null; // unreach
-		}
-	}
-
-	/**
-	 * visit pipe expression
-	 * 
-	 * @param pipex
-	 *            is the pipe expression.
-	 * @return a new function
-	 */
-	// XXX same as above
-	public Object visit(PipeExpr pipex) {
-		try {
-			Collection args = do_bin_args(pipex);
-			return OpUnion.op_union(args);
-		} catch (DynamicError err) {
-			report_error(err);
-			return null; // unreach
-		}
-	}
-
-	/**
-	 * visit intersect expression
-	 * 
-	 * @param iexpr
-	 *            is the intersect expression.
-	 * @return a new function
-	 */
-	public Object visit(IntersectExpr iexpr) {
-		try {
-			Collection args = do_bin_args(iexpr);
-			return OpIntersect.op_intersect(args);
-		} catch (DynamicError err) {
-			report_error(err);
-			return null; // unreach
-		}
-	}
-
-	/**
-	 * visit except expression
-	 * 
-	 * @param eexpr
-	 *            is the except expression.
-	 * @return a new function
-	 */
-	public Object visit(ExceptExpr eexpr) {
-		try {
-			Collection args = do_bin_args(eexpr);
-			return OpExcept.op_except(args);
-		} catch (DynamicError err) {
-			report_error(err);
-			return null; // unreach
-		}
-	}
-
-	/**
-	 * visit instance of expression
-	 * 
-	 * @param ioexp
-	 *            is the instance of expression.
-	 * @return a new function
-	 */
-	public Object visit(InstOfExpr ioexp) {
-		// get the value
-		ResultSequence rs = (ResultSequence) ioexp.left().accept(this);
-
-		// get the sequence type
-		SequenceType seqt = (SequenceType) ioexp.right();
-		SeqType st = new SeqType(seqt, _dc, rs);
-
-		// see if they match
-		try {
-			st.match(rs);
-		} catch (DynamicError err) {
-			return ResultSequenceFactory.create_new(new XSBoolean(false));
-		}
-
-		return ResultSequenceFactory.create_new(new XSBoolean(true));
-	}
-
-	/**
-	 * visit treat-as expression
-	 * 
-	 * @param taexp
-	 *            is the treat-as expression.
-	 * @return a new function
-	 */
-	public Object visit(TreatAsExpr taexp) {
-
-		ResultSequence rs = (ResultSequence) taexp.left().accept(this);
-
-		SequenceType seqt = (SequenceType) taexp.right();
-		SeqType st = new SeqType(seqt, _dc, rs);
-
-		try {
-			st.match(rs);
-		} catch (DynamicError err) {
-			report_error(err);
-		}
-
-		return rs;
-	}
-
-	/**
-	 * visit castable expression
-	 * 
-	 * @param cexp
-	 *            is the castable expression.
-	 * @return a new function
-	 */
-	public Object visit(CastableExpr cexp) {
-		boolean castable = false;
-		try {
-			CastExpr ce = new CastExpr((Expr) cexp.left(), (SingleType) cexp
-					.right());
-
-			visit(ce);
-			castable = true;
-		} catch (Throwable t) {
-			castable = false;
-		}
-
-		return ResultSequenceFactory.create_new(new XSBoolean(castable));
-	}
-
-	/**
-	 * visit cast expression
-	 * 
-	 * @param cexp
-	 *            is the cast expression.
-	 * @return a new function
-	 */
-	public Object visit(CastExpr cexp) {
-
-		ResultSequence rs = (ResultSequence) cexp.left().accept(this);
-		SingleType st = (SingleType) cexp.right();
-
-		rs = FnData.atomize(rs);
-
-		if (rs.size() > 1)
-			report_error(TypeError.invalid_type(null));
-
-		if (rs.empty()) {
-			if (st.qmark())
-				return rs;
-			else
-				report_error(TypeError.invalid_type(null));
-		}
-
-		AnyType at = rs.first();
-
-		if (!(at instanceof AnyAtomicType))
-			report_error(TypeError.invalid_type(null));
-
-		AnyAtomicType aat = (AnyAtomicType) at;
-
-		QName type = st.type();
-
-		// check if constructor exists
-		// try {
-		if (!_dc.function_exists(type, 1))
-			report_error(TypeError.invalid_type(null));
-		/*
-		 * } catch(StaticNsNameError err) {
-		 * report_error(TypeError.invalid_type(null)); }
-		 */
-		// prepare args from function
-		Collection args = new ArrayList();
-		args.add(ResultSequenceFactory.create_new(aat));
-
-		try {
-			return _dc.evaluate_function(type, args);
-		} catch (DynamicError err) {
-			report_error(err);
-			return null; // unreach
-		}
-	}
-
-	/**
-	 * visit minus expression
-	 * 
-	 * @param e
-	 *            is the minus expression.
-	 * @return a new function
-	 */
-	public Object visit(MinusExpr e) {
-		ResultSequence rs = (ResultSequence) e.arg().accept(this);
-
-		Collection args = new ArrayList();
-		args.add(rs);
-
-		try {
-			return FsMinus.fs_minus_unary(args);
-		} catch (DynamicError err) {
-			report_error(err);
-			return null; // unreach
-		}
-	}
-
-	/**
-	 * visit plus expression
-	 * 
-	 * @param e
-	 *            is the plus expression.
-	 * @return a new function
-	 */
-	public Object visit(PlusExpr e) {
-		ResultSequence rs = (ResultSequence) e.arg().accept(this);
-
-		Collection args = new ArrayList();
-		args.add(rs);
-
-		try {
-			return FsPlus.fs_plus_unary(args);
-		} catch (DynamicError err) {
-			report_error(err);
-			return null; // unreach
-		}
-	}
-
-	// this will evaluate the step expression for the whole focus and return
-	// the result.
-	//
-	// i.e. It will execute the step expression for each item in the focus
-	// [each time changing the context item].
-	private ResultSequence do_step(StepExpr se) {
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-		ArrayList results = new ArrayList();
-		int type = 0; // 0: don't know yet
-		// 1: atomic
-		// 2: node
-
-		Focus focus = _dc.focus();
-		int original_pos = focus.position();
-
-		// execute step for all items in focus
-		while (true) {
-			results.add(se.accept(this));
-
-			// go to next
-			if (!focus.advance_cp())
-				break;
-		}
-
-		// make sure we didn't change focus
-		focus.set_position(original_pos);
-
-		boolean node_types = false;
-
-		// check the results
-		for (Iterator i = results.iterator(); i.hasNext();) {
-			ResultSequence result = (ResultSequence) i.next();
-
-			// make sure results are of same type, and add them in
-			for (Iterator j = result.iterator(); j.hasNext();) {
-				AnyType item = (AnyType) j.next();
-
-				// first item
-				if (type == 0) {
-					if (item instanceof AnyAtomicType)
-						type = 1;
-					else if (item instanceof NodeType)
-						type = 2;
-					else
-						assert false;
-
-				}
-
-				// make sure we got coherent types
-				switch (type) {
-				// atomic... just concat
-				case 1:
-					if (!(item instanceof AnyAtomicType))
-						report_error(TypeError.mixed_vals(null));
-					rs.add(item);
-					break;
-
-				case 2:
-					node_types = true;
-					if (!(item instanceof NodeType))
-						report_error(TypeError.mixed_vals(null));
-					rs.add(item);
-					break;
-
-				default:
-					assert false;
-				}
-			}
-		}
-
-		// XXX lame
-		if (node_types) {
-			rs = NodeType.eliminate_dups(rs);
-			rs = NodeType.sort_document_order(rs);
-		}
-
-		return rs;
-	}
-
-	private ResultSequence root_self_node() {
-		Axis axis = new SelfAxis();
-		ResultSequence rs;
-
-		// XXX the cast!!!
-		rs = axis.iterate((NodeType) _dc.context_item(), _dc);
-
-		rs = kind_test(rs, NodeType.class);
-
-		try {
-			List records = new ArrayList();
-			records.add(rs);
-			rs = FnRoot.fn_root(records, _dc);
-		} catch (DynamicError err) {
-			report_error(err);
-		}
-		return rs;
-	}
-
-	private ResultSequence descendant_or_self_node(ResultSequence rs) {
-		ResultSequence res = ResultSequenceFactory.create_new();
-		Axis axis = new DescendantOrSelfAxis();
-
-		// for all nodes, get descendant or self nodes
-		for (Iterator i = rs.iterator(); i.hasNext();) {
-			NodeType item = (NodeType) i.next();
-
-			ResultSequence nodes = axis.iterate(item, _dc);
-			nodes = kind_test(nodes, NodeType.class);
-
-			res.concat(nodes);
-		}
-
-		return res;
-	}
-
-	/**
-	 * visit XPath expression
-	 * 
-	 * @param e
-	 *            is the XPath expression.
-	 * @return a new function
-	 */
-	public Object visit(XPathExpr e) {
-		XPathExpr xp = e;
-
-		ResultSequence rs = null;
-		Focus original_focus = _dc.focus();
-
-		// do all the steps
-		while (xp != null) {
-			StepExpr se = xp.expr();
-
-			if (se != null) {
-				// this is not the first step
-				if (rs != null) {
-					// XXX ?
-					// the expression didn't return any
-					// results...
-					if (rs.size() == 0)
-						break;
-
-					// make sure result of previous step are
-					// nodes!
-					for (Iterator i = rs.iterator(); i.hasNext();) {
-						AnyType item = (AnyType) i.next();
-
-						if (!(item instanceof NodeType)) {
-							report_error(TypeError.step_conatins_atoms(null));
-							return null; // unreach
-						}
-					}
-
-					// check if we got a //
-					if (xp.slashes() == 2) {
-						rs = descendant_or_self_node(rs);
-
-						if (rs.size() == 0)
-							break;
-					}
-
-					// make result of previous step the new
-					// focus
-					_dc.set_focus(new Focus(rs));
-
-					// do the step for all item in context
-					rs = do_step(se);
-				}
-				// this is first step...
-				// note... we may be called from upstream...
-				// like in the expression sorbo/*[2] ... we may
-				// be called to evaluate the 2... the caller
-				// will iterate through the whole outer focus
-				// for us
-				else {
-					// XXX ???
-					if (xp.slashes() == 1) {
-						rs = root_self_node();
-						_dc.set_focus(new Focus(rs));
-
-						rs = do_step(se);
-					} else if (xp.slashes() == 2) {
-						ResultSequence res = ResultSequenceFactory.create_new();
-						rs = root_self_node();
-
-						rs = descendant_or_self_node(rs);
-
-						_dc.set_focus(new Focus(rs));
-
-						rs = do_step(se);
-					} else
-						rs = (ResultSequence) se.accept(this);
-				}
-			}
-			// the expression is "/"
-			else {
-				assert xp.slashes() == 1;
-
-				rs = root_self_node();
-			}
-
-			xp = xp.next();
-		}
-
-		// restore focus
-		_dc.set_focus(original_focus);
-
-		return rs;
-	}
-
-	/**
-	 * visit a forward step expression
-	 * 
-	 * @param e
-	 *            is the forward step.
-	 * @return a new function
-	 */
-	public Object visit(ForwardStep e) {
-
-		// get context node
-		AnyType ci = _dc.context_item();
-		
-		if (ci == null) 
-			report_error(DynamicError.contextUndefined());
-
-		if (!(ci instanceof NodeType))
-			report_error(TypeError.ci_not_node(ci.string_type()));
-
-		NodeType cn = (NodeType) ci;
-
-		// get the nodes on the axis
-		ForwardAxis axis = e.iterator();
-		ResultSequence nodes = axis.iterate(cn, _dc);
-		// get all nodes in the axis, and principal node
-		Pair arg = new Pair(axis.principal_node_kind().string_type(), nodes);
-
-		// do the name test
-		_param = arg;
-		ResultSequence rs = (ResultSequence) e.node_test().accept(this);
-
-		return rs;
-	}
-
-	/**
-	 * visit a reverse step expression
-	 * 
-	 * @param e
-	 *            is the reverse step.
-	 * @return a new function
-	 */
-	// XXX unify with top
-	public Object visit(ReverseStep e) {
-		// get context node
-		AnyType ci = _dc.context_item();
-
-		if (!(ci instanceof NodeType))
-			report_error(TypeError.ci_not_node(ci.string_type()));
-
-		NodeType cn = (NodeType) ci;
-
-		// get the nodes on the axis
-		ReverseAxis axis = e.iterator();
-
-		// short for "gimme da parent"
-		if (e.axis() == ReverseStep.DOTDOT) {
-			axis = new ParentAxis();
-
-			return kind_test(axis.iterate(cn, _dc), NodeType.class);
-		}
-
-		assert axis != null;
-
-		ResultSequence nodes = axis.iterate(cn, _dc);
-		// get all nodes in the axis, and principal node
-		Pair arg = new Pair(axis.principal_node_kind().string_type(), nodes);
-
-		// do the name test
-		_param = arg;
-		ResultSequence rs = (ResultSequence) e.node_test().accept(this);
-
-		return rs;
-	}
-
-	// XXX this routine sux
-	private boolean name_test(NodeType node, QName name, String type) {
-		// make sure principal node kind is the same
-		if (node == null) {
-			return false;
-		}
-		if (!type.equals(node.string_type())) {
-			return false;
-		}
-
-		String test_prefix = name.prefix();
-
-		// if unprefixed and principal node kind is element, set default
-		// element namespace
-		if (test_prefix == null && type.equals("element")) {
-			// XXX make a new copy
-			name = new QName(null, name.local());
-			name.set_namespace(_dc.default_namespace());
-
-			// if we actually have a namespace, pretend we do =D
-			if (name.namespace() != null)
-				test_prefix = "";
-		}
-
-		QName node_name = node.node_name();
-
-		assert node_name != null;
-
-		// make sure namespace matches
-		String node_namespace = node_name.namespace();
-
-		String test_namespace = null;
-		if (name.expanded())
-			test_namespace = name.namespace();
-
-		// name test has no prefix
-		if (test_prefix == null) {
-			// ok no namespace... match
-			if (node_namespace == null) {
-			} else {
-				return false;
-			}
-		}
-		// name test has a prefix and is not wildcard
-		// XXX AT THIS POINT ALL PREFIXES NEED TO BE RESOLVED!
-		else if (!test_namespace.equals("*")) {
-			// the node doesn't have a namespace... no match
-			if (node_namespace == null) {
-				return false;
-			}
-			// check namespaces
-			else {
-				if (node_namespace.equals(test_namespace)) {
-					// namespace matches
-				} else {
-					return false;
-				}
-			}
-		}
-
-		// make sure local part matches
-		// check for wildcard in localpart
-		if (name.local().equals("*"))
-			return true;
-
-		// check if local part matches
-		if (!name.local().equals(node_name.local())) {
-			return false;
-		}
-
-		return true;
-	}
-
-	/**
-	 * visit a name test expression
-	 * 
-	 * @param e
-	 *            is thename test.
-	 * @return a result sequence
-	 */
-	public Object visit(NameTest e) {
-		QName name = e.name();
-
-		// get the arguments
-		Pair arg = (Pair) _param;
-		String type = (String) arg._one;
-		ResultSequence rs = (ResultSequence) arg._two;
-
-		for (Iterator i = rs.iterator(); i.hasNext();) {
-			NodeType nt = (NodeType) i.next();
-
-			// check if node passes name test
-			if (!name_test(nt, name, type))
-				i.remove();
-
-		}
-
-		return rs;
-	}
-
-	/**
-	 * visit variable reference
-	 * 
-	 * @param e
-	 *            is the variable reference.
-	 * @return a result sequence
-	 */
-	public Object visit(VarRef e) {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		AnyType var = _dc.get_variable(e.name());
-
-		assert var != null;
-
-		rs.add(var);
-
-		return rs;
-	}
-
-	/**
-	 * visit string literal.
-	 * 
-	 * @param e
-	 *            is the string literal.
-	 * @return a result sequence
-	 */
-	public Object visit(StringLiteral e) {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		rs.add(e.value());
-		return rs;
-	}
-
-	/**
-	 * visit integer literal.
-	 * 
-	 * @param e
-	 *            is the integer literal.
-	 * @return a result sequence
-	 */
-	public Object visit(IntegerLiteral e) {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		rs.add(e.value());
-		return rs;
-	}
-
-	/**
-	 * visit double literal.
-	 * 
-	 * @param e
-	 *            is the double literal.
-	 * @return a result sequence
-	 */
-	public Object visit(DoubleLiteral e) {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		rs.add(e.value());
-		return rs;
-	}
-
-	/**
-	 * visit decimal literal.
-	 * 
-	 * @param e
-	 *            is the decimal literal.
-	 * @return a result sequence
-	 */
-	public Object visit(DecimalLiteral e) {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		rs.add(e.value());
-		return rs;
-	}
-
-	/**
-	 * visit parent expression.
-	 * 
-	 * @param e
-	 *            is the parent expression.
-	 * @return a new function
-	 */
-	public Object visit(ParExpr e) {
-		return do_expr(e.iterator());
-	}
-
-	/**
-	 * visit context item expression.
-	 * 
-	 * @param e
-	 *            is the context item expression.
-	 * @return a result sequence
-	 */
-	public Object visit(CntxItemExpr e) {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		AnyType contextItem = _dc.context_item();
-		if (contextItem == null) {
-			report_error(DynamicError.contextUndefined());
-		}
-		rs.add(contextItem);
-		return rs;
-	}
-
-	/**
-	 * visit function call.
-	 * 
-	 * @param e
-	 *            is the function call.
-	 * @return a new function or null
-	 */
-	public Object visit(FunctionCall e) {
-		ArrayList args = new ArrayList();
-
-		for (Iterator i = e.iterator(); i.hasNext();) {
-			Expr arg = (Expr) i.next();
-			// each argument will produce a result sequence
-			args.add(arg.accept(this));
-		}
-
-		try {
-			ResultSequence rs = _dc.evaluate_function(e.name(), args);
-			return rs;
-		} catch (DynamicError err) {
-			report_error(err);
-			return null; // unreach
-		}
-	}
-
-	/**
-	 * visit single type.
-	 * 
-	 * @param e
-	 *            is the single type.
-	 * @return null
-	 */
-	public Object visit(SingleType e) {
-		return null;
-	}
-
-	/**
-	 * visit sequence type.
-	 * 
-	 * @param e
-	 *            is the sequence type.
-	 * @return null
-	 */
-	public Object visit(SequenceType e) {
-		ItemType it = e.item_type();
-
-		if (it != null)
-			it.accept(this);
-
-		return null;
-	}
-
-	/**
-	 * visit item type.
-	 * 
-	 * @param e
-	 *            is the item type.
-	 * @return null
-	 */
-	public Object visit(ItemType e) {
-
-		switch (e.type()) {
-		case ItemType.ITEM:
-			break;
-		case ItemType.QNAME:
-
-			// try {
-			if (!_dc.type_defined(e.qname()))
-				report_error(new StaticTypeNameError("Type not defined: "
-						+ e.qname().string()));
-			/*
-			 * } catch(StaticNsNameError ns) { report_error(ns); }
-			 */
-			break;
-
-		case ItemType.KINDTEST:
-			e.kind_test().accept(this);
-			break;
-		}
-
-		return null;
-	}
-
-	private ResultSequence kind_test(ResultSequence rs, Class kind) {
-		for (Iterator i = rs.iterator(); i.hasNext();) {
-			if (!kind.isInstance(i.next()))
-				i.remove();
-		}
-		return rs;
-	}
-
-	/**
-	 * visit any kind test.
-	 * 
-	 * @param e
-	 *            is the any kind test.
-	 * @return a new function
-	 */
-	public Object visit(AnyKindTest e) {
-		ResultSequence arg = (ResultSequence) ((Pair) _param)._two;
-
-		return kind_test(arg, NodeType.class);
-	}
-
-	/**
-	 * visit document test.
-	 * 
-	 * @param e
-	 *            is the document test.
-	 * @return result sequence
-	 */
-	public Object visit(DocumentTest e) {
-		ResultSequence arg = (ResultSequence) ((Pair) _param)._two;
-		int type = e.type();
-
-		// filter doc nodes
-		ResultSequence rs = kind_test(arg, DocType.class);
-
-		if (type == DocumentTest.NONE)
-			return rs;
-
-		// for all docs, find the ones with exactly one element, and do
-		// the element test
-		for (Iterator i = rs.iterator(); i.hasNext();) {
-			DocType doc = (DocType) i.next();
-			int elem_count = 0;
-			ElementType elem = null;
-
-			// make sure doc has only 1 element
-			NodeList children = doc.node_value().getChildNodes();
-			for (int j = 0; j < children.getLength(); j++) {
-				Node child = children.item(j);
-
-				// bingo
-				if (child.getNodeType() == Node.ELEMENT_NODE) {
-					elem_count++;
-
-					if (elem_count > 1)
-						break;
-
-					elem = new ElementType((Element) child);
-				}
-			}
-
-			// this doc is no good... send him to hell
-			if (elem_count != 1) {
-				i.remove();
-				continue;
-			}
-
-			assert elem != null;
-
-			// setup parameter for element test
-			ResultSequence res = ResultSequenceFactory.create_new();
-			res.add(elem);
-			_param = new Pair("element", res);
-
-			// do name test
-			res = null;
-			if (type == DocumentTest.ELEMENT)
-				res = (ResultSequence) e.elem_test().accept(this);
-			else if (type == DocumentTest.SCHEMA_ELEMENT)
-				res = (ResultSequence) e.schema_elem_test().accept(this);
-			else
-				assert false;
-
-			// check if element survived nametest
-			if (res.size() != 1)
-				i.remove();
-		}
-
-		return rs;
-	}
-
-	/**
-	 * visit text test.
-	 * 
-	 * @param e
-	 *            is the text test.
-	 * @return a new function
-	 */
-	public Object visit(TextTest e) {
-		ResultSequence arg = (ResultSequence) ((Pair) _param)._two;
-
-		return kind_test(arg, TextType.class);
-	}
-
-	/**
-	 * visit comment test.
-	 * 
-	 * @param e
-	 *            is the text test.
-	 * @return a new function
-	 */
-	public Object visit(CommentTest e) {
-		ResultSequence arg = (ResultSequence) ((Pair) _param)._two;
-
-		return kind_test(arg, CommentType.class);
-	}
-
-	/**
-	 * visit PI test.
-	 * 
-	 * @param e
-	 *            is the PI test.
-	 * @return a argument
-	 */
-	public Object visit(PITest e) {
-		ResultSequence arg = (ResultSequence) ((Pair) _param)._two;
-
-		String pit_arg = e.arg();
-
-		// match any pi
-		if (pit_arg == null)
-			return kind_test(arg, PIType.class);
-
-		for (Iterator i = arg.iterator(); i.hasNext();) {
-			AnyType item = (AnyType) i.next();
-
-			// match PI
-			if (item instanceof PIType) {
-				PIType pi = (PIType) item;
-
-				// match target
-				if (!pit_arg.equals(pi.value().getTarget()))
-					i.remove();
-			} else
-				i.remove();
-		}
-
-		return arg;
-	}
-
-	/**
-	 * visit attribute test.
-	 * 
-	 * @param e
-	 *            is the attribute test.
-	 * @return a result sequence
-	 */
-	public Object visit(AttributeTest e) {
-		// filter out all attrs
-		ResultSequence rs = kind_test((ResultSequence) ((Pair) _param)._two,
-				AttrType.class);
-
-		// match the name if it's not a wild card
-		QName name = e.name();
-		if (name != null && !e.wild()) {
-			for (Iterator i = rs.iterator(); i.hasNext();) {
-				if (!name_test((NodeType) i.next(), name, "attribute"))
-
-					i.remove();
-			}
-		}
-
-		// match the type
-		QName type = e.type();
-		if (type != null) {
-			for (Iterator i = rs.iterator(); i.hasNext();) {
-				NodeType node = (NodeType) i.next();
-
-				// check if element derives from
-				if (!_dc.derives_from(node, type))
-					i.remove();
-			}
-		}
-
-		return rs;
-	}
-
-	/**
-	 * visit schema attribute test.
-	 * 
-	 * @param e
-	 *            is the schema attribute test.
-	 * @return a result sequence
-	 */
-	public Object visit(SchemaAttrTest e) {
-		// filter out all attrs
-		ResultSequence rs = kind_test((ResultSequence) ((Pair) _param)._two,
-				AttrType.class);
-
-		// match the name
-		QName name = e.arg();
-		for (Iterator i = rs.iterator(); i.hasNext();) {
-			if (!name_test((NodeType) i.next(), name, "attribute"))
-
-				i.remove();
-		}
-
-		// check the type
-		XSTypeDefinition et = _dc.attribute_type_definition(name);
-		for (Iterator i = rs.iterator(); i.hasNext();) {
-			NodeType node = (NodeType) i.next();
-
-			if (!_dc.derives_from(node, et))
-				i.remove();
-
-		}
-
-		return rs;
-	}
-
-	/**
-	 * visit element test.
-	 * 
-	 * @param e
-	 *            is the element test.
-	 * @return a result sequence
-	 */
-	public Object visit(ElementTest e) {
-
-		// filter out all elements
-		ResultSequence rs = kind_test((ResultSequence) ((Pair) _param)._two,
-				ElementType.class);
-
-		// match the name if it's not a wild card
-		QName name = e.name();
-		if (name != null && !e.wild()) {
-			for (Iterator i = rs.iterator(); i.hasNext();) {
-				if (!name_test((ElementType) i.next(), name, "element"))
-
-					i.remove();
-			}
-		}
-
-		// match the type
-		QName type = e.type();
-		if (type != null) {
-			for (Iterator i = rs.iterator(); i.hasNext();) {
-				NodeType node = (NodeType) i.next();
-
-				// check if element derives from
-				if (_dc.derives_from(node, type)) {
-					// nilled may be true or false
-					if (e.qmark()) {
-					}
-					// nilled has to be false
-					else {
-						XSBoolean nilled = (XSBoolean) node.nilled().first();
-						if (nilled.value())
-							i.remove();
-					}
-
-				} else
-					i.remove();
-			}
-		}
-
-		return rs;
-	}
-
-	/**
-	 * visit schema element test.
-	 * 
-	 * @param e
-	 *            is the schema element test.
-	 * @return a result sequence
-	 */
-	public Object visit(SchemaElemTest e) {
-		// filter out all elements
-		ResultSequence rs = kind_test((ResultSequence) ((Pair) _param)._two,
-				ElementType.class);
-
-		// match the name
-		// XXX substitution groups
-		QName name = e.name();
-		for (Iterator i = rs.iterator(); i.hasNext();) {
-			if (!name_test((ElementType) i.next(), name, "element"))
-
-				i.remove();
-		}
-
-		// check the type
-		XSTypeDefinition et = _dc.element_type_definition(name);
-		for (Iterator i = rs.iterator(); i.hasNext();) {
-			NodeType node = (NodeType) i.next();
-
-			if (!_dc.derives_from(node, et)) {
-				i.remove();
-				continue;
-			}
-
-			XSBoolean nilled = (XSBoolean) node.nilled().first();
-			// XXX or, in schema it is nillable
-			if (nilled.value())
-				i.remove();
-		}
-
-		return rs;
-	}
-
-	private boolean predicate_truth(ResultSequence rs) {
-		// rule 1 of spec... if numeric type:
-		// if num eq position then true else false
-		if (rs.size() == 1) {
-			AnyType at = rs.get(0);
-
-			if (at instanceof NumericType) {
-				try {
-					_g_xsint.set_int(BigInteger.valueOf(_dc.context_position()));
-					return FsEq.fs_eq_fast(at, _g_xsint, _dc);
-				} catch (DynamicError err) {
-					report_error(err);
-
-					// unreach
-					assert false;
-					return false;
-				}
-			}
-		}
-
-		// rule 2
-		XSBoolean ret = effective_boolean_value(rs);
-
-		return ret.value();
-	}
-
-	// do the predicate for all items in focus
-	private ResultSequence do_predicate(Collection exprs) {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		Focus focus = _dc.focus();
-		int original_cp = focus.position();
-
-		// optimization
-		// check if predicate is single numeric constant
-		if (exprs.size() == 1) {
-			Expr expr = (Expr) exprs.iterator().next();
-
-			if (expr instanceof XPathExpr) {
-				XPathExpr xpe = (XPathExpr) expr;
-				if (xpe.next() == null && xpe.slashes() == 0
-						&& xpe.expr() instanceof FilterExpr) {
-					FilterExpr fex = (FilterExpr) xpe.expr();
-					if (fex.primary() instanceof IntegerLiteral) {
-						int pos = (((IntegerLiteral) fex.primary()).value()
-								.int_value()).intValue();
-
-						if (pos <= focus.last() && pos > 0) {
-							focus.set_position(pos);
-							rs.add(focus.context_item());
-						}
-						focus.set_position(original_cp);
-						return rs;
-					}
-				}
-			}
-		}
-
-		// go through all elements
-		while (true) {
-			// do the predicate
-			// XXX saxon doesn't allow for predicates to have
-			// commas... but XPath 2.0 spec seems to do
-			ResultSequence res = do_expr(exprs.iterator());
-
-			// if predicate is true, the context item is definitely
-			// in the sequence
-			if (predicate_truth(res))
-				rs.add(_dc.context_item());
-
-			res.release();
-			if (!focus.advance_cp())
-				break;
-
-		}
-
-		// restore
-		focus.set_position(original_cp);
-
-		return rs;
-	}
-
-	/**
-	 * visit axis step.
-	 * 
-	 * @param e
-	 *            is the axis step.
-	 * @return a result sequence
-	 */
-	public Object visit(AxisStep e) {
-		ResultSequence rs = (ResultSequence) e.step().accept(this);
-
-		if (e.predicate_count() == 0)
-			return rs;
-
-		// I take it predicates are logical ANDS...
-		Focus original_focus = _dc.focus();
-
-		// go through all predicates
-		for (Iterator i = e.iterator(); i.hasNext();) {
-			// empty results... get out of here ? XXX
-			if (rs.size() == 0)
-				break;
-
-			_dc.set_focus(new Focus(rs));
-			rs = do_predicate((Collection) i.next());
-
-		}
-
-		// restore focus [context switching ;D ]
-		_dc.set_focus(original_focus);
-		return rs;
-	}
-
-	/**
-	 * visit filter expression
-	 * 
-	 * @param e
-	 *            is the filter expression.
-	 * @return a result sequence
-	 */
-	// XXX unify with top ?
-	public Object visit(FilterExpr e) {
-		ResultSequence rs = (ResultSequence) e.primary().accept(this);
-
-		// if no predicates are present, then the result is the same as
-		// the primary expression
-		if (e.predicate_count() == 0)
-			return rs;
-
-		Focus original_focus = _dc.focus();
-
-		// go through all predicates
-		for (Iterator i = e.iterator(); i.hasNext();) {
-			if (rs.size() == 0)
-				break;
-
-			_dc.set_focus(new Focus(rs));
-			rs = do_predicate((Collection) i.next());
-
-		}
-
-		// restore focus [context switching ;D ]
-		_dc.set_focus(original_focus);
-		return rs;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DynamicContext.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DynamicContext.java
deleted file mode 100644
index 95412f6..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DynamicContext.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- *     David Carver - bug 282223 - implementation of xs:duration data types. 
- *     Jesper Moller- bug 281159 - fix document loading and resolving URIs 
- *     Jesper Moller- bug 286452 - always return the stable date/time from dynamic context
- *     Jesper Moller- bug 275610 - Avoid big time and memory overhead for externals
- *     Jesper Moller- bug 280555 - Add pluggable collation support
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import java.net.URI;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.GregorianCalendar;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.Focus;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration;
-import org.w3c.dom.Node;
-
-/**
- * Interface for dynamic context.
- */
-public interface DynamicContext extends StaticContext {
-
-	/**
-	 * The default collation which is guaranteed to always be implemented
-	 * @since 1.1
-	 */
-	public static final String CODEPOINT_COLLATION = "http://www.w3.org/2005/xpath-functions/collation/codepoint";
-
-	/**
-	 * Get context item.
-	 * 
-	 * @return the context item.
-	 */
-	public AnyType context_item();
-
-	/**
-	 * Get context node position.
-	 * 
-	 * @return position of context node.
-	 */
-	public int context_position();
-
-	/**
-	 * Get position of last item.
-	 * 
-	 * @return last item position.
-	 */
-	public int last();
-
-	/**
-	 * Get variable.
-	 * 
-	 * @param name
-	 *            is the name of the variable.
-	 * @return variable.
-	 */
-	public AnyType get_variable(QName name);
-	
-	/**
-	 * Set variable.
-	 * 
-	 * @param var
-	 *            is name of the variable.
-	 * @param val
-	 *            is the value to be set for the variable.
-	 */
-	public void set_variable(QName var, AnyType val);
-
-	/**
-	 * Evaluate the function of the arguments.
-	 * 
-	 * @param name
-	 *            is the name.
-	 * @param args
-	 *            are the arguments.
-	 * @throws DynamicError
-	 *             dynamic error.
-	 * @return result of the function evaluation.
-	 */
-	public ResultSequence evaluate_function(QName name, Collection args)
-			throws DynamicError;
-
-	/**
-	 * Reads the day from a TimeDuration type
-	 * 
-	 * @return current date time and implicit timezone.
-	 * @since 1.1
-	 */
-	public XSDuration tz();
-
-	/**
-	 * Get document.
-	 * 
-	 * @param uri
-	 *            is the URI of the document.
-	 * @return document.
-	 * @since 1.1
-	 */
-	// available doc
-	public ResultSequence get_doc(URI uri);
-
-	/**
-	 * Resolve an URI
-	 * 
-	 * @param uri
-	 *            is the possibly relative URI to resolve
-	 * @return the absolutized, resolved URI.
-	 * @since 1.1
-	 */
-	public URI resolve_uri(String uri);
-
-	// available collections
-
-	// default collection
-
-	/**
-	 * Returns the current date time using the GregorianCalendar.
-	 * 
-	 * @return The current date and time, which will always be same for the dynamic context.
-	 * @since 1.1
-	 */
-	public GregorianCalendar current_date_time();
-	
-	/**
-	 * Set focus.
-	 * 
-	 * @param focus
-	 *            is focus to be set.
-	 */
-	// Other functions
-	public void set_focus(Focus focus);
-
-	/**
-	 * Return focus.
-	 * 
-	 * @return Focus
-	 */
-	public Focus focus();
-	
-	/**
-	 * Return a useful collator for the specified URI
-	 * 
-	 * @param uri
-	 * @return A Jaa collator, or null, if no such Collator exists 
-	 * @since 1.1
-	 */
-	public Comparator<Object> get_collation(String uri); 
-	
-	/**
-	 * Returns the current default collator
-	 * 
-	 * @return The default name to use as the collator
-	 * @since 1.1
-	 */
-	public String default_collation_name();
-	
-	// deprecated
-	/**
-	 * @deprecated
-	 */
-	@Deprecated
-	public int node_position(Node node);
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DynamicError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DynamicError.java
deleted file mode 100644
index df372d6..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DynamicError.java
+++ /dev/null
@@ -1,506 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver (STAR) - bug 273763 - correct error codes.
- *                           bug 280106 - Correct XPDY0021 - XPST0003 
- *     Jesper Steen Moeller - bug 28149 - add more fn:error info
- *     Jesper Steen Moller  - bug 281159 - fix document loading and resolving URIs 
- *     Jesper Steen Moller  - Bug 286062 - Add FOAR0002  
- *     Jesper Steen Moller  - bug 280555 - Add pluggable collation support
- *     Jesper Steen Moller  - bug 262765 - Add FORG0006
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.TypeError;
-
-/**
- * Dynamic Error like division by 0 or type errors.
- */
-public class DynamicError extends XPathException {
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = -6146830764753685791L;
-
-	// errorcode specified in http://www.w3.org/2004/10/xqt-errors i fink
-	private String _code;
-
-	// XXX dirty... should fix the error stuff
-	// have a type error encapsulated in a dynamic error
-	private TypeError _te;
-
-	/**
-	 * Constructor for Dynamic Error.
-	 * 
-	 * @param code
-	 *            is the code that is set.
-	 * @param err
-	 *            is the reason for the error.
-	 */
-	public DynamicError(String code, String err) {
-		super(err);
-		_code = code;
-		_te = null;
-	}
-
-	/**
-	 * Constructor for Dynamic Error.
-	 * 
-	 * @param te
-	 *            is the error type.
-	 */
-	public DynamicError(TypeError te) {
-		super(te.reason());
-		_te = te;
-		_code = te.code();
-	}
-
-	/**
-	 * Returns the string of the code.
-	 * 
-	 * @return the code.
-	 */
-	public String code() {
-		if (_te != null)
-			return _te.code();
-		return _code;
-	}
-
-	/**
-	 * Returns the dynamic error.
-	 * 
-	 * @param err
-	 *            is the error
-	 * @return the DynamicError.
-	 */
-	public static DynamicError cant_cast(String err) {
-		String error = "Can't cast to required type.";
-
-		if (err != null)
-			error += " " + err;
-
-		return new DynamicError("FORG0001", error);
-	}
-
-	/**
-	 * Returns the dynamic error.
-	 * 
-	 * @throws DynamicError
-	 *             a Dynamic Error
-	 * @return the DynamicError.
-	 */
-	public static DynamicError throw_type_error() throws DynamicError {
-		throw argument_type_error(null);
-	}
-
-	/**
-	 * Returns the dynamic error.
-	 *
-	 * @param type Type found
-	 * @return the DynamicError.
-	 * @since 1.1
-	 */
-	public static DynamicError argument_type_error(Class<?> type) {
-		return new DynamicError("FORG0006", type != null ?
-				"Invalid argument type :" + type.getSimpleName() : "Invalid argument type");
-	}
-
-	/**
-	 * @since 1.1
-	 */
-	public static DynamicError invalidType() throws DynamicError {
-		throw new DynamicError(TypeError.invalid_type(null));
-	}
-
-	/**
-	 * @since 1.1
-	 */
-	public static DynamicError inputToLargeForDecimal() throws DynamicError {
-		throw new DynamicError("FOCA0001", "Input value too large for decimal");
-	}
-	/**
-	 * Returns the dynamic error.
-	 * 
-	 * @param desc
-	 *            is the description of the error
-	 * @return the DynamicError.
-	 * @since 1.1
-	 */
-	public static DynamicError user_error(String ns, String code, String desc) {
-		String error = "Error reported by fn:error.";
-
-		if (desc != null)
-			error = desc + " (reported by fn:error)";
-
-		// XXX: Need to pass the namespace also...
-		return new DynamicError(code, error);
-	}
-
-	/**
-	 * Returns the dynamic error.
-	 * 
-	 * @param err
-	 *            is the description of the error
-	 * @return the DynamicError.
-	 */
-	public static DynamicError user_error(String err) {
-		String error = "Error reported by fn:error.";
-
-		if (err != null)
-			error = err + " (reported by fn:error)";
-
-		// XXX: Need to pass the namespace also...
-		return new DynamicError("FOER0000", error);
-	}
-	
-	/**
-	 * Returns the Dynamic Error for invalid flags in regular expressions
-	 * @param err
-	 * @return
-	 * @since 1.1
-	 */
-	public static DynamicError regex_flags_error(String err) {
-		String error = "Invalid regular expression flag parameter.";
-
-		if (err != null)
-			error += " " + err;
-
-		return new DynamicError("FORX0001", error);
-		
-	}
-
-	/**
-	 * Returns the dynamic error.
-	 * 
-	 * @param err
-	 *            is the error
-	 * @return the DynamicError.
-	 */
-	public static DynamicError regex_error(String err) {
-		String error = "Invalid regular expression.";
-
-		if (err != null)
-			error += " " + err;
-
-		return new DynamicError("FORX0002", error);
-	}
-
-	/**
-	 * Returns the dynamic error.
-	 * 
-	 * @param err
-	 *            is the error
-	 * @return the DynamicError.
-	 * @since 1.1
-	 */
-	public static DynamicError regex_match_zero_length(String err) {
-		String error = "Invalid regular expression.";
-
-		if (err != null)
-			error += " " + err;
-
-		return new DynamicError("FORX0003", error);
-	}
-
-	/**
-	 * Returns the dynamic error for an unsupported Unicode codepoint
-	 * 
-	 * @param err
-	 *            is the error
-	 * @return the DynamicError.
-	 * @since 1.1
-	 * 
-	 */
-	public static DynamicError unsupported_codepoint(String err) {
-		String error = "Unsupported codepoint";
-
-		if (err != null)
-			error += " " + err;
-
-		return new DynamicError("FOCH0001", error);
-	}
-
-	/**
-	 * Returns the dynamic error for an unsupported normalization form
-	 * 
-	 * @param collationName
-	 *            is the error
-	 * @return the DynamicError.
-	 * @since 1.1
-	 * 
-	 */
-	public static DynamicError unsupported_collation(String collationName) {
-		String error = "Unsupported collation URI. ";
-
-		if (collationName != null)
-			error += " " + collationName;
-
-		return new DynamicError("FOCH0002", error);
-	}
-
-	/**
-	 * Returns the dynamic error for an unsupported normalization form
-	 * 
-	 * @param err
-	 *            is the error
-	 * @return the DynamicError.
-	 * @since 1.1
-	 * 
-	 */
-	public static DynamicError unsupported_normalization_form(String err) {
-		String error = "Unsupported normalization form. ";
-
-		if (err != null)
-			error += " " + err;
-
-		return new DynamicError("FOCH0003", error);
-	}
-
-	private static DynamicError make_error(String code, String err, String msg) {
-		String error = err;
-
-		if (msg != null)
-			error += msg;
-
-		return new DynamicError(code, error);
-	}
-
-	/**
-	 * Returns the error message when reads an Invalid lexical value
-	 * 
-	 * @param msg
-	 *            is the message
-	 * @return the make_error
-	 */
-	public static DynamicError lexical_error(String msg) {
-		return make_error("FOCA0002", "Invalid lexical value.", msg);
-	}
-
-	/**
-	 * Returns the error message when reads an Items not comparable
-	 * 
-	 * @param msg
-	 *            is the message
-	 * @return the make_error
-	 */
-	public static DynamicError not_cmp(String msg) {
-		return make_error("FOTY0012", "Items not comparable", msg);
-	}
-
-	/**
-	 * Returns the error message
-	 * 
-	 * @param msg
-	 *            is the message
-	 * @return the make_error
-	 */
-	public static DynamicError more_one_item(String msg) {
-		return make_error(
-				"FORG0003",
-				"fn:zero-or-one called with a sequence containing more than one item",
-				msg);
-	}
-
-	/**
-	 * Returns the error message
-	 * 
-	 * @param msg
-	 *            is the message
-	 * @return the make_error
-	 */
-	public static DynamicError empty_seq(String msg) {
-		return make_error("FORG0004",
-				"fn:one-or-more called with a sequence containing no items",
-				msg);
-	}
-
-	/**
-	 * Returns the error message
-	 * 
-	 * @param msg
-	 *            is the message
-	 * @return the make_error
-	 */
-	public static DynamicError not_one(String msg) {
-		return make_error(
-				"FORG0005",
-				"fn:exactly-one called with a sequence containing zero or more than one item",
-				msg);
-	}
-
-	/**
-	 * Returns the error message when reads Invalid argument to fn:collection
-	 * 
-	 * @param msg
-	 *            is the message
-	 * @return the make_error
-	 * @since 1.1
-	 */
-	public static DynamicError invalidCollectionArgument() {
-		return make_error("FODC0004", "Invalid argument to fn:doc", null);
-	}
-	
-	/**
-	 * Returns the error message when reads Invalid argument to fn:doc
-	 * 
-	 * @param msg
-	 *            is the message
-	 * @return the make_error
-	 */
-	public static DynamicError invalid_doc(String msg) {
-		return make_error("FODC0005", "Invalid argument to fn:doc", msg);
-	}
-
-	/**
-	 * Returns the error message when fn:doc cannot load its document
-	 * 
-	 * @param msg
-	 *            is the message
-	 * @return the make_error
-	 * @since 1.1
-	 */
-	public static DynamicError doc_not_found(String msg) {
-		return make_error("FODC0002", "Document argument fn:doc not found", msg);
-	}
-
-	/**
-	 * Returns the error message when reads a Division by zero
-	 * 
-	 * @param msg
-	 *            is the message
-	 * @return the make_error
-	 */
-	public static DynamicError div_zero(String msg) {
-		return make_error("FOAR0001", "Division by zero", msg);
-	}
-
-	/**
-	 * Numeric operation overflow/underflow
-	 * 
-	 * @param msg
-	 *            is the message
-	 * @return the make_error
-	 * @since 1.1
-	 */
-	public static DynamicError numeric_overflow(String msg) {
-		return make_error("FOAR0002", "Numeric overflow/underflow", msg);
-	}
-	/**
-	 * @since 1.1
-	 */
-	public static DynamicError contextUndefined() {
-		return make_error("XPDY0002", "Context is undefined.", "");
-	}
-
-	/**
-	 * Data is invalid for casting or the data type constructor.
-	 * @param msg
-	 * @return FORG0001
-	 * @since 1.1
-	 */
-	public static DynamicError invalidForCastConstructor() {
-		return make_error(
-				"FORG0001",
-				"data type invalid for cast or constructor",
-				null);
-	}
-	
-	/**
-	 * No namespace found for prefix.
-	 * 
-	 * @return
-	 * @since 1.1
-	 */
-	public static DynamicError invalidPrefix() {
-		return make_error("FONS0004", "No namespace found for prefix.", null);
-	}
-	
-	/**
-	 * No context document
-	 * @return
-	 * @since 1.1
-	 */
-	public static DynamicError noContextDoc() {
-		return make_error("FODC0001", "No context document.", null);
-	}
-
-	/**
-	 * No base-uri defined.
-	 * 
-	 * @return
-	 * @since 1.1
-	 */
-	public static DynamicError noBaseURI() {
-		return make_error("FONS0005", "Base-uri not defined in the static context.", null);
-	}
-	
-	/**
-	 * Error resolving relative uri against base-uri.
-	 * 
-	 * @return
-	 * @since 1.1
-	 */
-	public static DynamicError errorResolvingURI() {
-		return make_error("FORG0002", "Invalid argument to fn:resolve-uri().", null);
-	}
-	
-	/**
-	 * Invalid Timezone value.
-	 * @return
-	 * @since 1.1
-	 */
-	public static DynamicError invalidTimezone() {
-		return make_error("FODT0003", "Invalid timezone value.", null);
-	}
-	
-	/**
-	 * Overflow/underflow in duration operation.
-	 * @return
-	 * @since 1.1
-	 */
-	public static DynamicError overflowUnderflow() {
-		return make_error("FODT0002", "Overflow/underflow in duration operation.", null);
-	}
-	
-	/**
-	 * Overflow/underflow in duration operation.
-	 * @return
-	 * @since 1.1
-	 */
-	public static DynamicError nan() {
-		return make_error("FOCA0005", "NaN supplied as float/double value.", null);
-	}
-	
-	/**
-	 * Invalid lexical value
-	 * 
-	 * @since 1.1
-	 */
-	public static DynamicError invalidLexicalValue() {
-		return make_error("FOCA0002", "Invalid lexical value.", null);
-	}
-	
-	/**
-	 * Overflow/underflow in date/time operation 
-	 * @since 1.1
-	 */
-	public static DynamicError overflowDateTime() {
-		return make_error("FODT0001", "Overflow/underflow in date/time operation", null);
-	}
-	
-	/**
-	 * The two arguments to fn:dateTime have inconsistent timezones
-	 * 
-	 * @since 1.1
-	 */
-	public static DynamicError inconsistentTimeZone() {
-		return make_error("FORG0008", "The two arguments to fn:dateTime have inconsistent timezones", null);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/Evaluator.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/Evaluator.java
deleted file mode 100644
index e627956..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/Evaluator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.*;
-
-/**
- * interface to Evaluator
- */
-public interface Evaluator {
-
-	/**
-	 * Evaluate the root node.
-	 * 
-	 * @param root
-	 *            is the XPath node.
-	 * @throws DynamicError
-	 *             dynamic error.
-	 * @return Result of evaluation.
-	 */
-	public ResultSequence evaluate(XPathNode root) throws DynamicError;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/JFlexCupParser.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/JFlexCupParser.java
deleted file mode 100644
index 76c554c..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/JFlexCupParser.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import java_cup.runtime.*;
-import java.io.*;
-
-import org.eclipse.wst.xml.xpath2.processor.ast.XPath;
-import org.eclipse.wst.xml.xpath2.processor.internal.CupError;
-import org.eclipse.wst.xml.xpath2.processor.internal.JFlexError;
-import org.eclipse.wst.xml.xpath2.processor.internal.XPathFlex;
-import org.eclipse.wst.xml.xpath2.processor.internal.XPathCup;
-
-/**
- * JFlexCupParser parses the xpath expression
- */
-public class JFlexCupParser implements XPathParser {
-
-	/**
-	 * Tries to parse the xpath expression
-	 * 
-	 * @param xpath
-	 *            is the xpath string.
-	 * @throws XPathParserException.
-	 * @return the xpath value.
-	 */
-	public XPath parse(String xpath) throws XPathParserException {
-
-		XPathFlex lexer = new XPathFlex(new StringReader(xpath));
-
-		XPathCup p = new XPathCup(lexer);
-		try {
-			Symbol res = p.parse();
-			return (XPath) res.value;
-
-		} catch (JFlexError e) {
-			throw new XPathParserException("JFlex lexer error: " + e.reason());
-		} catch (CupError e) {
-			throw new XPathParserException("CUP parser error: " + e.reason());
-		} catch (Exception e) {
-			String err = "Unknown error at line " + lexer.lineno();
-
-			err += " col " + lexer.colno();
-			err += ": " + lexer.yytext();
-
-			throw new XPathParserException(err);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/ResultSequence.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/ResultSequence.java
deleted file mode 100644
index eb59fa1..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/ResultSequence.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import java.util.*;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * Interface to the methods of range of result sequence
- */
-public abstract class ResultSequence {
-
-	/**
-	 * add item
-	 * 
-	 * @param item
-	 *            is an item of any type.
-	 */
-	public abstract void add(AnyType item);
-
-	/**
-	 * concatinate from rs
-	 * 
-	 * @param rs
-	 *            is a Result Sequence.
-	 */
-	public abstract void concat(ResultSequence rs);
-
-	/**
-	 * List Iterator.
-	 */
-	public abstract ListIterator iterator();
-
-	/**
-	 * get item in index i
-	 * 
-	 * @param i
-	 *            is the position.
-	 */
-	public abstract AnyType get(int i);
-
-	/**
-	 * get the size
-	 * 
-	 * @return the size.
-	 */
-	public abstract int size();
-
-	/**
-	 * clear
-	 */
-	public abstract void clear();
-
-	/**
-	 * create a new result sequence
-	 * 
-	 * @return a new result sequence.
-	 */
-	public abstract ResultSequence create_new();
-
-	/**
-	 * retrieve the first item
-	 * 
-	 * @return the first item.
-	 */
-	public AnyType first() {
-		return get(0);
-	}
-
-	/**
-	 * check is the sequence is empty
-	 * 
-	 * @return boolean.
-	 */
-	public boolean empty() {
-		if (size() == 0)
-			return true;
-		return false;
-	}
-
-	/**
-	 * retrieve items in sequence
-	 * 
-	 * @return result string
-	 */
-	public String string() {
-		String result = "";
-		int num = 1;
-
-		StringBuffer buf = new StringBuffer();
-		for (Iterator i = iterator(); i.hasNext();) {
-			AnyType elem = (AnyType) i.next();
-
-			buf.append(num + ") ");
-
-			buf.append(elem.string_type() + ": ");
-
-			String value = elem.string_value();
-
-			if (elem instanceof NodeType) {
-				QName tmp = ((NodeType) elem).node_name();
-
-				if (tmp != null)
-					value = tmp.expanded_name();
-			}
-			buf.append(value + "\n");
-
-			num++;
-		}
-		result = buf.toString();
-		if (num == 1)
-			result = "Empty results\n";
-		return result;
-	}
-
-	/**
-	 * release the result sequence
-	 */
-	public void release() {
-		ResultSequenceFactory.release(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/ResultSequenceFactory.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/ResultSequenceFactory.java
deleted file mode 100644
index d0dc839..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/ResultSequenceFactory.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.DefaultRSFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * Result sequence factory
- */
-public abstract class ResultSequenceFactory {
-	private static final ResultSequenceFactory _factory = new DefaultRSFactory();
-
-	protected abstract ResultSequence fact_create_new();
-
-	protected abstract void fact_release(ResultSequence rs);
-
-	protected ResultSequence fact_create_new(AnyType item) {
-		ResultSequence rs = fact_create_new();
-		rs.add(item);
-		return rs;
-	}
-
-	protected void fact_print_debug() {
-	}
-
-	/**
-	 * @return the creation of a new result sequence
-	 */
-	public static ResultSequence create_new() {
-		return _factory.fact_create_new();
-	}
-
-	/**
-	 * @param item
-	 *            is an item of any type.
-	 * @return factory creating new item
-	 */
-	public static ResultSequence create_new(AnyType item) {
-		return _factory.fact_create_new(item);
-	}
-
-	/**
-	 * @param rs
-	 *            is the result sequence factory release rs
-	 */
-	public static void release(ResultSequence rs) {
-		_factory.fact_release(rs);
-	}
-
-	/**
-	 * factory debug
-	 */
-	public static void print_debug() {
-		_factory.fact_print_debug();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticChecker.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticChecker.java
deleted file mode 100644
index cab7ece..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticChecker.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.*;
-
-/**
- * Interface to static checker.
- */
-public interface StaticChecker {
-
-	/**
-	 * checks XPathNode
-	 * 
-	 * @throws static error.
-	 * @param root
-	 *            is an XPath node.
-	 */
-	public void check(XPathNode root) throws StaticError;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticContext.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticContext.java
deleted file mode 100644
index 925c7f4..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticContext.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver (STAR) - bug 262765 - add ability to set the base uri 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import java.util.List;
-import java.util.Map;
-
-import org.apache.xerces.xs.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-import org.w3c.dom.Document;
-
-/**
- * interface to static context
- */
-public interface StaticContext {
-
-	/**
-	 * is it xpath 1.0 compatible.
-	 * 
-	 * @return boolean
-	 */
-	public boolean xpath1_compatible();
-
-	/**
-	 * namespaces does the prefix exist
-	 * 
-	 * @param prefix
-	 *            is the prefix
-	 * @return boolean
-	 */
-	public boolean prefix_exists(String prefix);
-
-	/**
-	 * @param prefix
-	 *            is the prefix
-	 * @return string
-	 */
-	public String resolve_prefix(String prefix);
-
-	/**
-	 * the default namespace
-	 * 
-	 * @return string
-	 */
-	public String default_namespace();
-
-	/**
-	 * the default function namespace
-	 * 
-	 * @return string
-	 */
-	public String default_function_namespace();
-
-	// in scope schema definitions
-	/**
-	 * @param attr
-	 *            is the qname variable
-	 * @return attributes's type definition
-	 */
-	public XSTypeDefinition attribute_type_definition(QName attr);
-
-	/**
-	 * @param elem
-	 *            is the elem of the qname
-	 * @return element's type definition
-	 */
-	public XSTypeDefinition element_type_definition(QName elem);
-
-	/**
-	 * is the attribute declared?
-	 * 
-	 * @param attr
-	 *            is the attribute of the qname
-	 * @return boolean
-	 */
-	public boolean attribute_declared(QName attr);
-
-	/**
-	 * is the element declared?
-	 * 
-	 * @param elem
-	 *            is the elem of the qname
-	 * @return boolean
-	 */
-	public boolean element_declared(QName elem);
-
-	// in scope variables
-
-	// context item type
-
-	/**
-	 * is the element declared?
-	 * 
-	 * @param name
-	 *            is the qname name
-	 * @param arity
-	 *            integer of qname
-	 * @return boolean
-	 */
-	// function signatures
-	public boolean function_exists(QName name, int arity);
-
-	// collations
-
-	/**
-	 * base uri
-	 * 
-	 * @return uri
-	 */
-	// base uri
-	public XSAnyURI base_uri();
-
-	// statically known documents
-
-	// collections
-
-	// other stuff
-	/**
-	 * new scope
-	 */
-	public void new_scope();
-
-	/**
-	 * destroy scope
-	 */
-	public void destroy_scope();
-
-	/**
-	 * add variable
-	 * 
-	 * @param name
-	 *            is the qname
-	 */
-	public void add_variable(QName name);
-
-	/**
-	 * delete the variable
-	 * 
-	 * @param name
-	 *            is the qname
-	 * @return boolean if deleted variable
-	 */
-	public boolean del_variable(QName name);
-
-	/**
-	 * @param name
-	 *            is the qname
-	 * @return boolean if variable exists
-	 */
-	public boolean variable_exists(QName name); // in current scope only
-
-	/**
-	 * @param var
-	 *            is the variable of qname
-	 */
-	public boolean variable_in_scope(QName var);
-
-	/**
-	 * @param name
-	 *            is qname
-	 * @return boolean
-	 */
-	public boolean type_defined(QName name);
-
-	/**
-	 * @param at
-	 *            the node type
-	 * @param et
-	 *            is the qname
-	 * @return boolean
-	 */
-	public boolean derives_from(NodeType at, QName et);
-
-	/**
-	 * @param at
-	 *            the node type
-	 * @param et
-	 *            is the XSTypeDefinition of the node
-	 * @return boolean
-	 */
-	public boolean derives_from(NodeType at, XSTypeDefinition et);
-
-	/**
-	 * add namespace
-	 * 
-	 * @param prefix
-	 *            the prefix of the namespace
-	 * @param ns
-	 *            is the XSTypeDefinition of the node
-	 */
-	public void add_namespace(String prefix, String ns);
-
-	/**
-	 * expand function
-	 * 
-	 * @param name
-	 *            is the qname
-	 * @return boolean if function can be expanded
-	 */
-	public boolean expand_function_qname(QName name);
-
-	/**
-	 * expand element type qname
-	 * 
-	 * @param name
-	 *            is the qname
-	 * @return boolean if function can be expanded
-	 */
-	public boolean expand_elem_type_qname(QName name);
-
-	/**
-	 * expand qname
-	 * 
-	 * @param name
-	 *            is the qname
-	 * @return boolean if function can be expanded
-	 */
-	public boolean expand_qname(QName name);
-
-	/**
-	 * add function to library
-	 * 
-	 * @param fl
-	 *            is the function library
-	 */
-	public void add_function_library(FunctionLibrary fl);
-
-	/**
-	 * @param name
-	 *            is the qname
-	 * @return any atomic type
-	 */
-	public AnyAtomicType make_atomic(QName name);
-	
-	/**
-	 * Sets the base uri for the context.
-	 * @param baseuri
-	 * @since 1.1
-	 */
-	public void set_base_uri(String baseuri);
-	
-	/**
-	 * @since 1.1
-	 */
-	public Map<String, List<Document>> get_collections();
-	
-	/**
-	 * @since 1.1
-	 */
-	public void set_collections(Map<String, List<Document>> collections);
-	
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticError.java
deleted file mode 100644
index b2edbaa..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticError.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-
-/**
- * Base class for all static errors as defined by the XPath 2.0 specification
- * 
- */
-public class StaticError extends XPathException {
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 7870866130837870971L;
-	// errorcode specified in http://www.w3.org/2004/10/xqt-errors i fink
-	private String _code;
-
-	/**
-	 * Constructor for a generic static error
-	 * 
-	 * @param code
-	 *            The error code as specified in XPath 2.0
-	 * @param err
-	 *            Humar readable error message
-	 */
-	public StaticError(String code, String err) {
-		super(err);
-		_code = code;
-	}
-
-	/**
-	 * @return error code which represents the error
-	 */
-	public String code() {
-		return _code;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticNameResolver.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticNameResolver.java
deleted file mode 100644
index d1c23d2..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticNameResolver.java
+++ /dev/null
@@ -1,879 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import org.eclipse.wst.xml.xpath2.processor.ast.XPath;
-import org.eclipse.wst.xml.xpath2.processor.internal.StaticAttrNameError;
-import org.eclipse.wst.xml.xpath2.processor.internal.StaticElemNameError;
-import org.eclipse.wst.xml.xpath2.processor.internal.StaticFunctNameError;
-import org.eclipse.wst.xml.xpath2.processor.internal.StaticNameError;
-import org.eclipse.wst.xml.xpath2.processor.internal.StaticNsNameError;
-import org.eclipse.wst.xml.xpath2.processor.internal.StaticTypeNameError;
-import org.eclipse.wst.xml.xpath2.processor.internal.StaticVarNameError;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * This class resolves static names.
- */
-public class StaticNameResolver implements XPathVisitor, StaticChecker {
-	static class DummyError extends Error {
-
-		/**
-		 * 
-		 */
-		private static final long serialVersionUID = 3898564402981741950L;
-	}
-
-	private StaticContext _sc;
-	private StaticNameError _err;
-
-	/**
-	 * Constructor for static name resolver
-	 * 
-	 * @param sc
-	 *            is the static context.
-	 */
-	public StaticNameResolver(StaticContext sc) {
-		_sc = sc;
-		_err = null;
-	}
-
-	// the problem is that visistor interface does not throw exceptions...
-	// so we get around it ;D
-	private void report_error(StaticNameError err) {
-		_err = err;
-		throw new DummyError();
-	}
-
-	private void report_bad_prefix(String prefix) {
-		report_error(StaticNsNameError.unknown_prefix(prefix));
-	}
-
-	/**
-	 * Check the XPath node.
-	 * 
-	 * @param node
-	 *            is the XPath node to check.
-	 * @throws StaticError
-	 *             static error.
-	 */
-	public void check(XPathNode node) throws StaticError {
-		try {
-			node.accept(this);
-		} catch (DummyError e) {
-			throw _err;
-		}
-	}
-
-	/**
-	 * Validate an XPath by visiting all the nodes.
-	 * 
-	 * @param xp
-	 *            is the XPath.
-	 * @return null.
-	 */
-	public Object visit(XPath xp) {
-		for (Iterator i = xp.iterator(); i.hasNext();) {
-			Expr e = (Expr) i.next();
-
-			e.accept(this);
-		}
-
-		return null;
-	}
-
-	// does a for and a quantified expression
-	// takes the iterator for var expr paris
-	private void doForExpr(Iterator iter, Expr expr) {
-		int scopes = 0;
-
-		// add variables to scope and check the binding sequence
-		while (iter.hasNext()) {
-			VarExprPair pair = (VarExprPair) iter.next();
-
-			QName var = pair.varname();
-			if (!_sc.expand_qname(var))
-				report_bad_prefix(var.prefix());
-
-			Expr e = pair.expr();
-
-			e.accept(this);
-
-			_sc.new_scope();
-			scopes++;
-			_sc.add_variable(var);
-		}
-
-		_sc.new_scope();
-		scopes++;
-		expr.accept(this);
-
-		// kill the scopes
-		for (int i = 0; i < scopes; i++)
-			_sc.destroy_scope();
-	}
-
-	/**
-	 * Validate a for expression.
-	 * 
-	 * @param fex
-	 *            is the for expression.
-	 * @return null.
-	 */
-	public Object visit(ForExpr fex) {
-
-		doForExpr(fex.iterator(), fex.expr());
-
-		return null;
-	}
-
-	/**
-	 * Validate a quantified expression.
-	 * 
-	 * @param qex
-	 *            is the quantified expression.
-	 * @return null.
-	 */
-	public Object visit(QuantifiedExpr qex) {
-		// lets cheat
-		doForExpr(qex.iterator(), qex.expr());
-
-		return null;
-	}
-
-	private void printExprs(Iterator i) {
-		while (i.hasNext()) {
-			Expr e = (Expr) i.next();
-
-			e.accept(this);
-		}
-	}
-
-	/**
-	 * Validate an if expression.
-	 * 
-	 * @param ifex
-	 *            is the if expression.
-	 * @return null.
-	 */
-	public Object visit(IfExpr ifex) {
-
-		printExprs(ifex.iterator());
-
-		ifex.then_clause().accept(this);
-
-		ifex.else_clause().accept(this);
-
-		return null;
-	}
-
-	/**
-	 * Validate a binary expression by checking its left and right children.
-	 * 
-	 * @param name
-	 *            is the name of the binary expression.
-	 * @param e
-	 *            is the expression itself.
-	 */
-	public void printBinExpr(String name, BinExpr e) {
-		e.left().accept(this);
-		e.right().accept(this);
-	}
-
-	/**
-	 * Validate an OR expression.
-	 * 
-	 * @param orex
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(OrExpr orex) {
-		printBinExpr("OR", orex);
-		return null;
-	}
-
-	/**
-	 * Validate an AND expression.
-	 * 
-	 * @param andex
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(AndExpr andex) {
-		printBinExpr("AND", andex);
-		return null;
-	}
-
-	/**
-	 * Validate a comparison expression.
-	 * 
-	 * @param cmpex
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(CmpExpr cmpex) {
-		printBinExpr("CMP" + cmpex.type(), cmpex);
-		return null;
-	}
-
-	/**
-	 * Validate a range expression.
-	 * 
-	 * @param rex
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(RangeExpr rex) {
-		printBinExpr("RANGE", rex);
-		return null;
-	}
-
-	/**
-	 * Validate an additon expression.
-	 * 
-	 * @param addex
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(AddExpr addex) {
-		printBinExpr("ADD", addex);
-		return null;
-	}
-
-	/**
-	 * Validate a subtraction expression.
-	 * 
-	 * @param subex
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(SubExpr subex) {
-		printBinExpr("SUB", subex);
-		return null;
-	}
-
-	/**
-	 * Validate a multiplication expression.
-	 * 
-	 * @param mulex
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(MulExpr mulex) {
-		printBinExpr("MUL", mulex);
-		return null;
-	}
-
-	/**
-	 * Validate a division expression.
-	 * 
-	 * @param mulex
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(DivExpr mulex) {
-		printBinExpr("DIV", mulex);
-		return null;
-	}
-
-	/**
-	 * Validate an integer divison expression.
-	 * 
-	 * @param mulex
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(IDivExpr mulex) {
-		printBinExpr("IDIV", mulex);
-		return null;
-	}
-
-	/**
-	 * Validate a mod expression.
-	 * 
-	 * @param mulex
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(ModExpr mulex) {
-		printBinExpr("MOD", mulex);
-		return null;
-	}
-
-	/**
-	 * Validate a union expression.
-	 * 
-	 * @param unex
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(UnionExpr unex) {
-		printBinExpr("UNION", unex);
-		return null;
-	}
-
-	/**
-	 * Validate a piped expression.
-	 * 
-	 * @param pipex
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(PipeExpr pipex) {
-		printBinExpr("PIPE", pipex);
-		return null;
-	}
-
-	/**
-	 * Validate an intersection expression.
-	 * 
-	 * @param iexpr
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(IntersectExpr iexpr) {
-		printBinExpr("INTERSECT", iexpr);
-		return null;
-	}
-
-	/**
-	 * Validate an except expression.
-	 * 
-	 * @param eexpr
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(ExceptExpr eexpr) {
-		printBinExpr("INT_EXCEPT", eexpr);
-		return null;
-	}
-
-	/**
-	 * Validate an 'instance of' expression.
-	 * 
-	 * @param ioexp
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(InstOfExpr ioexp) {
-		printBinExpr("INSTANCEOF", ioexp);
-		return null;
-	}
-
-	/**
-	 * Validate a 'treat as' expression.
-	 * 
-	 * @param taexp
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(TreatAsExpr taexp) {
-		printBinExpr("TREATAS", taexp);
-		return null;
-	}
-
-	/**
-	 * Validate a castable expression.
-	 * 
-	 * @param cexp
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(CastableExpr cexp) {
-		printBinExpr("CASTABLE", cexp);
-		return null;
-	}
-
-	/**
-	 * Validate a cast expression.
-	 * 
-	 * @param cexp
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(CastExpr cexp) {
-		printBinExpr("CAST", cexp);
-		return null;
-	}
-
-	/**
-	 * Validate a unary expression by checking its one child.
-	 * 
-	 * @param name
-	 *            is the name of the expression.
-	 * @param e
-	 *            is the expression itself.
-	 */
-	public void printUnExpr(String name, UnExpr e) {
-		e.arg().accept(this);
-
-	}
-
-	/**
-	 * Validate a minus expression.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(MinusExpr e) {
-		printUnExpr("MINUS", e);
-		return null;
-	}
-
-	/**
-	 * Validate a plus expression.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(PlusExpr e) {
-		printUnExpr("PLUS", e);
-		return null;
-	}
-
-	/**
-	 * Validate an xpath expression.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(XPathExpr e) {
-		XPathExpr xp = e;
-
-		while (xp != null) {
-			StepExpr se = xp.expr();
-
-			if (se != null)
-				se.accept(this);
-
-			xp = xp.next();
-		}
-		return null;
-	}
-
-	/**
-	 * Validate a forward step.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(ForwardStep e) {
-		e.node_test().accept(this);
-
-		return null;
-	}
-
-	/**
-	 * Validate a reverse step.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(ReverseStep e) {
-
-		NodeTest nt = e.node_test();
-		if (nt != null)
-			nt.accept(this);
-
-		return null;
-	}
-
-	/**
-	 * Validate a name test.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(NameTest e) {
-		QName name = e.name();
-
-		if (!_sc.expand_qname(name))
-			report_bad_prefix(name.prefix());
-
-		return null;
-	}
-
-	/**
-	 * Validate a variable reference.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(VarRef e) {
-		QName var = e.name();
-		if (!_sc.expand_qname(var))
-			report_bad_prefix(var.prefix());
-
-		if (!_sc.variable_in_scope(var))
-			report_error(new StaticVarNameError("Variable not in scope: "
-					+ var.string()));
-		return null;
-	}
-
-	/**
-	 * Validate a string literal.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(StringLiteral e) {
-		return null;
-	}
-
-	/**
-	 * Validate an integer literal.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(IntegerLiteral e) {
-		return null;
-	}
-
-	/**
-	 * Validate a double literal.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(DoubleLiteral e) {
-		return null;
-	}
-
-	/**
-	 * Validate a decimal literal.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(DecimalLiteral e) {
-		return null;
-	}
-
-	/**
-	 * Validate a parenthesized expression.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(ParExpr e) {
-		printExprs(e.iterator());
-		return null;
-	}
-
-	/**
-	 * Validate a context item expression.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(CntxItemExpr e) {
-		return null;
-	}
-
-	/**
-	 * Validate a function call.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(FunctionCall e) {
-		QName name = e.name();
-
-		if (!_sc.expand_function_qname(name))
-			report_bad_prefix(name.prefix());
-
-		if (!_sc.function_exists(name, e.arity()))
-			report_error(new StaticFunctNameError("Function does not exist: "
-					+ name.string() + " arity: " + e.arity()));
-
-		printExprs(e.iterator());
-		return null;
-	}
-
-	/**
-	 * Validate a single type.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(SingleType e) {
-		QName type = e.type();
-		if (!_sc.expand_elem_type_qname(type))
-			report_bad_prefix(type.prefix());
-
-		return null;
-	}
-
-	/**
-	 * Validate a sequence type.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(SequenceType e) {
-		ItemType it = e.item_type();
-
-		if (it != null)
-			it.accept(this);
-
-		return null;
-	}
-
-	/**
-	 * Validate an item type.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(ItemType e) {
-
-		switch (e.type()) {
-		case ItemType.ITEM:
-			break;
-		case ItemType.QNAME:
-			QName type = e.qname();
-			if (!_sc.expand_elem_type_qname(type))
-				report_bad_prefix(type.prefix());
-
-			if (!_sc.type_defined(e.qname()))
-				report_error(new StaticTypeNameError("Type not defined: "
-						+ e.qname().string()));
-			break;
-
-		case ItemType.KINDTEST:
-			e.kind_test().accept(this);
-			break;
-		}
-
-		return null;
-	}
-
-	/**
-	 * Validate an any kind test.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(AnyKindTest e) {
-		return null;
-	}
-
-	/**
-	 * Validate a document test.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(DocumentTest e) {
-
-		switch (e.type()) {
-		case DocumentTest.ELEMENT:
-			e.elem_test().accept(this);
-			break;
-
-		case DocumentTest.SCHEMA_ELEMENT:
-			e.schema_elem_test().accept(this);
-			break;
-		}
-		return null;
-	}
-
-	/**
-	 * Validate a text test.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(TextTest e) {
-		return null;
-	}
-
-	/**
-	 * Validate a comment test.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(CommentTest e) {
-		return null;
-	}
-
-	/**
-	 * Validate a processing instructing test.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(PITest e) {
-		String arg = e.arg();
-		if (arg == null)
-			arg = "";
-
-		return null;
-	}
-
-	/**
-	 * Validate an attribute test.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	// XXX NO CHECK ?
-	public Object visit(AttributeTest e) {
-		QName name = e.name();
-
-		if (name == null)
-			return null;
-
-		if (!_sc.expand_qname(name))
-			report_bad_prefix(name.prefix());
-
-		name = e.type();
-		if (name == null)
-			return null;
-
-		if (!_sc.expand_elem_type_qname(name))
-			report_bad_prefix(name.prefix());
-
-		return null;
-	}
-
-	/**
-	 * Validate a schema attribute test.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(SchemaAttrTest e) {
-		QName name = e.arg();
-
-		if (!_sc.expand_qname(name))
-			report_bad_prefix(name.prefix());
-
-		if (!_sc.attribute_declared(name))
-			report_error(new StaticAttrNameError("Attribute not decleared: "
-					+ name.string()));
-
-		return null;
-	}
-
-	/**
-	 * Validate an element test.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	// XXX NO SEMANTIC CHECK?!
-	public Object visit(ElementTest e) {
-		QName name = e.name();
-
-		if (name == null)
-			return null;
-
-		if (!_sc.expand_elem_type_qname(name))
-			report_bad_prefix(name.prefix());
-
-		name = e.type();
-		if (name == null)
-			return null;
-
-		if (!_sc.expand_elem_type_qname(name))
-			report_bad_prefix(name.prefix());
-
-		return null;
-	}
-
-	/**
-	 * Validate a schema element test.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(SchemaElemTest e) {
-		QName elem = e.name();
-
-		if (!_sc.expand_elem_type_qname(elem))
-			report_bad_prefix(elem.prefix());
-
-		if (!_sc.element_declared(elem))
-			report_error(new StaticElemNameError("Element not declared: "
-					+ elem.string()));
-		return null;
-	}
-
-	private void printCollExprs(Iterator i) {
-		while (i.hasNext()) {
-			Collection exprs = (Collection) i.next();
-
-			printExprs(exprs.iterator());
-		}
-	}
-
-	/**
-	 * Validate an axis step.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(AxisStep e) {
-
-		e.step().accept(this);
-
-		printCollExprs(e.iterator());
-		return null;
-	}
-
-	/**
-	 * Validate a filter expression.
-	 * 
-	 * @param e
-	 *            is the expression.
-	 * @return null.
-	 */
-	public Object visit(FilterExpr e) {
-		e.primary().accept(this);
-
-		printCollExprs(e.iterator());
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XPathException.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XPathException.java
deleted file mode 100644
index f863e96..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XPathException.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-/**
- * This exception is thrown when there is a problem with an XPath exception.
- */
-public class XPathException extends Exception {
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 1380394170163983863L;
-	private String _reason;
-
-	/**
-	 * Constructor for XPathException
-	 * 
-	 * @param reason
-	 *            Is the reason why the exception has been thrown.
-	 */
-	public XPathException(String reason) {
-		_reason = reason;
-	}
-
-	/**
-	 * The reason why the exception has been thrown.
-	 * 
-	 * @return the reason why the exception has been throw.
-	 */
-	public String reason() {
-		return _reason;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XPathParser.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XPathParser.java
deleted file mode 100644
index 7ffa22e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XPathParser.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import org.eclipse.wst.xml.xpath2.processor.ast.XPath;
-
-/**
- * This is an interface class for the XPath parser.
- */
-public interface XPathParser {
-
-	/**
-	 * Constructor for the XPath parser interface.
-	 * 
-	 * @param xpath
-	 *            is the input XPath to be parsed.
-	 * @throws XPathParserException
-	 *             XPath parser exception.
-	 * @return The parsed XPath.
-	 */
-	public XPath parse(String xpath) throws XPathParserException;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XPathParserException.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XPathParserException.java
deleted file mode 100644
index 06435ff..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XPathParserException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver (STAR) - bug 273763 - correct error codes 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-
-/**
- * This exception is thrown if there is a problem with the XPath parser.
- */
-public class XPathParserException extends StaticError {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = -4974805230489762419L;
-	/**
-	 * The type of exception.
-	 */
-	public static final String INVALID_XPATH_EXPRESSION = "XPST0003";
-
-	/**
-	 * Constructor for XPathParserException.
-	 * 
-	 * @param reason
-	 *            is the reason why the exception has been thrown.
-	 */
-	public XPathParserException(String reason) {
-		super(INVALID_XPATH_EXPRESSION, reason);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XercesLoader.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XercesLoader.java
deleted file mode 100644
index 8944494..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XercesLoader.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 276134 - improvements to schema aware primitive type support
- *                                 for attribute/element nodes  
- *     Jesper Steen Moller - Fixed namespace awareness
- *     David Carver  - bug 281186 - implementation of fn:id and fn:idref.  Correct
- *                                  loading of grammars if non-validating.
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import java.io.*;
-
-import org.w3c.dom.*;
-import javax.xml.parsers.*;
-import javax.xml.validation.Schema;
-
-import org.xml.sax.*;
-
-/**
- * Xerces loader class. The loading is always namespace aware.
- */
-public class XercesLoader implements DOMLoader {
-
-	private static final String NONVALIDATING_LOAD_DTD_GRAMMAR = "http://apache.org/xml/features/nonvalidating/load-dtd-grammar";
-
-	public static final String NAMESPACES_FEATURE = "http://xml.org/sax/features/namespaces";
-
-	public static final String VALIDATION_FEATURE = "http://xml.org/sax/features/validation";
-
-	public static final String SCHEMA_VALIDATION_FEATURE = "http://apache.org/xml/features/validation/schema";
-
-	public static final String SCHEMA_FULL_CHECKING_FEATURE = "http://apache.org/xml/features/validation/schema-full-checking";
-
-	public static final String DYNAMIC_VALIDATION_FEATURE = "http://apache.org/xml/features/validation/dynamic";
-
-	public static final String LOAD_EXTERNAL_DTD_FEATURE = "http://apache.org/xml/features/nonvalidating/load-external-dtd";
-
-	public static final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage";
-	public static final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema";
-
-	public static final String DOCUMENT_IMPLEMENTATION_PROPERTY = "http://apache.org/xml/properties/dom/document-class-name";
-	public static final String DOCUMENT_PSVI_IMPLEMENTATION = "org.apache.xerces.dom.PSVIDocumentImpl";
-
-	boolean _validating;
-	
-	Schema _schema = null;;
-
-	/**
-	 * Constructor for Xerces loader.
-	 */
-	public XercesLoader() {
-		_validating = false;
-	}
-	
-	/**
-	 * @since 1.1
-	 */
-	public XercesLoader(Schema schema) {
-		_validating = false;
-		_schema = schema;
-	}
-
-	/**
-	 * The Xerces loader loads the XML document
-	 * 
-	 * @param in
-	 *            is the input stream.
-	 * @throws DOMLoaderException
-	 *             DOM loader exception.
-	 * @return The loaded document.
-	 */
-	public Document load(InputStream in) throws DOMLoaderException {
-
-		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-
-		factory.setNamespaceAware(true);
-		factory.setAttribute(SCHEMA_VALIDATION_FEATURE,
-				Boolean.valueOf(_validating));
-		factory.setAttribute(LOAD_EXTERNAL_DTD_FEATURE, true);
-		factory.setAttribute(NONVALIDATING_LOAD_DTD_GRAMMAR, true);
-		factory.setAttribute(DOCUMENT_IMPLEMENTATION_PROPERTY,
-				DOCUMENT_PSVI_IMPLEMENTATION);
-		
-		if (_schema != null) {
-		  factory.setSchema(_schema);
-		}
-		else {
-		  factory.setValidating(_validating);	
-		}
-
-		try {
-			DocumentBuilder builder = factory.newDocumentBuilder();
-
-			if (_validating) {
-				builder.setErrorHandler(new ErrorHandler() {
-					public void fatalError(SAXParseException e)
-							throws SAXException {
-						throw e;
-					}
-
-					public void error(SAXParseException e)
-							throws SAXParseException {
-						throw e;
-					}
-
-					public void warning(SAXParseException e)
-							throws SAXParseException {
-						throw e; // XXX
-					}
-				});
-			}
-			return builder.parse(in);
-		} catch (SAXException e) {
-			//throw new DOMLoaderException("SAX exception: " + e.getMessage());
-			e.printStackTrace();
-		} catch (ParserConfigurationException e) {
-			throw new DOMLoaderException("Parser configuration exception: "
-					+ e.getMessage());
-		} catch (IOException e) {
-			throw new DOMLoaderException("IO exception: " + e.getMessage());
-		}
-		
-		return null;
-
-	}
-
-	/**
-	 * Set validating boolean.
-	 * 
-	 * @param x
-	 *            is the value to set the validating boolean to.
-	 */
-	public void set_validating(boolean x) {
-		_validating = x;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/ast/XPath.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/ast/XPath.java
deleted file mode 100644
index 9ef7b1b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/ast/XPath.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.ast;
-
-import java.util.*;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor;
-
-/**
- * Support for XPath.
- */
-public class XPath extends XPathNode {
-	private Collection _exprs;
-
-	/**
-	 * Constructor for XPath.
-	 * 
-	 * @param exprs
-	 *            XPath expressions.
-	 */
-	public XPath(Collection exprs) {
-		_exprs = exprs;
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * Support for Iterator interface.
-	 * 
-	 * @return Result of Iterator operation.
-	 */
-	public Iterator iterator() {
-		return _exprs.iterator();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/function/FnFunctionLibrary.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/function/FnFunctionLibrary.java
deleted file mode 100644
index 6e310b3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/function/FnFunctionLibrary.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver (STAR) - bug 262765 - Added FnDefaultCollation.
- *     David Carver (STAR) - bug 285321 - implemented fn:encode-for-uri()
- *     Jesper Moller       - bug 287369 - Support fn:codepoint-equal()
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.function;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.function.*;
-
-// this is the equivalent of libc =D
-/**
- * Maintains a library of core functions and user defined functions.
- */
-public class FnFunctionLibrary extends FunctionLibrary {
-	/**
-	 * Path to xpath functions specification.
-	 */
-	public static final String XPATH_FUNCTIONS_NS = "http://www.w3.org/2005/xpath-functions";
-
-	/**
-	 * Constructor for FnFunctionLibrary.
-	 */
-	public FnFunctionLibrary() {
-		super(XPATH_FUNCTIONS_NS);
-
-		// add functions here
-		add_function(new FnBoolean());
-		add_function(new FnRoot());
-		add_function(new FnNot());
-
-		// accessors
-		add_function(new FnNodeName());
-		add_function(new FnNilled());
-		add_function(new FnData());
-		add_function(new FnString());
-		add_function(new FnBaseUri());
-		add_function(new FnStaticBaseUri());
-		add_function(new FnDocumentUri());
-
-		// error
-		add_function(new FnError());
-
-		// trace
-		add_function(new FnTrace());
-
-		// numeric functions
-		add_function(new FnAbs());
-		add_function(new FnCeiling());
-		add_function(new FnFloor());
-		add_function(new FnRound());
-		add_function(new FnRoundHalfToEven());
-
-		// string functions
-		add_function(new FnCodepointsToString());
-		add_function(new FnStringToCodepoints());
-		add_function(new FnCompare());
-		add_function(new FnCodepointEqual());
-		add_function(new FnConcat());
-		add_function(new FnStringJoin());
-		add_function(new FnSubstring());
-		add_function(new FnStringLength());
-		add_function(new FnNormalizeSpace());
-		add_function(new FnNormalizeUnicode());
-		add_function(new FnUpperCase());
-		add_function(new FnLowerCase());
-		add_function(new FnTranslate());
-		add_function(new FnEscapeHTMLUri());
-		add_function(new FnIriToURI());
-		add_function(new FnContains());
-		add_function(new FnStartsWith());
-		add_function(new FnEndsWith());
-		add_function(new FnSubstringBefore());
-		add_function(new FnSubstringAfter());
-		add_function(new FnMatches());
-		add_function(new FnReplace());
-		add_function(new FnTokenize());
-		add_function(new FnEncodeForURI());
-		add_function(new FnResolveURI());
-
-		// boolean functions
-		add_function(new FnTrue());
-		add_function(new FnFalse());
-
-		// date extraction functions
-		add_function(new FnYearsFromDuration());
-		add_function(new FnMonthsFromDuration());
-		add_function(new FnDaysFromDuration());
-		add_function(new FnHoursFromDuration());
-		add_function(new FnMinutesFromDuration());
-		add_function(new FnSecondsFromDuration());
-		add_function(new FnYearFromDateTime());
-		add_function(new FnMonthFromDateTime());
-		add_function(new FnDayFromDateTime());
-		add_function(new FnHoursFromDateTime());
-		add_function(new FnMinutesFromDateTime());
-		add_function(new FnSecondsFromDateTime());
-		add_function(new FnTimezoneFromDateTime());
-		add_function(new FnYearFromDate());
-		add_function(new FnMonthFromDate());
-		add_function(new FnDayFromDate());
-		add_function(new FnTimezoneFromDate());
-		add_function(new FnHoursFromTime());
-		add_function(new FnMinutesFromTime());
-		add_function(new FnSecondsFromTime());
-		add_function(new FnTimezoneFromTime());
-		add_function(new FnDateTime());
-
-		// timezone functs
-		add_function(new FnImplicitTimezone());
-		add_function(new FnAdjustDateTimeToTimeZone());
-		add_function(new FnAdjustTimeToTimeZone());
-		add_function(new FnAdjustDateToTimeZone());
-
-		// QName functs
-		add_function(new FnResolveQName());
-		add_function(new FnQName());
-		add_function(new FnLocalNameFromQName());
-		add_function(new FnNamespaceUriFromQName());
-		add_function(new FnPrefixFromQName());
-
-		// XXX implement hex & binary & notations
-
-		// node functions
-		add_function(new FnName());
-		add_function(new FnLocalName());
-		add_function(new FnNamespaceUri());
-		add_function(new FnNumber());
-		add_function(new FnInScopePrefixes());
-
-		// node functs
-		add_function(new FnLang());
-
-		// sequence functions
-		add_function(new FnIndexOf());
-		add_function(new FnEmpty());
-		add_function(new FnExists());
-		add_function(new FnDistinctValues());
-		add_function(new FnInsertBefore());
-		add_function(new FnRemove());
-		add_function(new FnReverse());
-		add_function(new FnSubsequence());
-		add_function(new FnUnordered());
-
-		// sequence caridnality
-		add_function(new FnZeroOrOne());
-		add_function(new FnOneOrMore());
-		add_function(new FnExactlyOne());
-
-		add_function(new FnDeepEqual());
-
-		// aggregate functions
-		add_function(new FnCount());
-		add_function(new FnAvg());
-		add_function(new FnMax());
-		add_function(new FnMin());
-		add_function(new FnSum());
-
-		// XXX implement functions that generate sequences
-		add_function(new FnDoc());
-		add_function(new FnCollection());
-
-		// context functions
-		add_function(new FnPosition());
-		add_function(new FnLast());
-		add_function(new FnCurrentDateTime());
-		add_function(new FnCurrentDate());
-		add_function(new FnCurrentTime());
-		
-		// XXX collation
-		add_function(new FnDefaultCollation());
-		
-		// ID and IDRef
-		add_function(new FnID());
-		add_function(new FnIDREF());
-
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/function/XSCtrLibrary.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/function/XSCtrLibrary.java
deleted file mode 100644
index 8eded4b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/function/XSCtrLibrary.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- *     Mukul Gandhi - bug 274952 - implementation of xs:long data type
- *     Mukul Gandhi - bug 275105 - implementation of xs:int data type
- *     Mukul Gandhi - bug 277599 - implementation of xs:nonPositiveInteger data type
- *     Mukul Gandhi - bug 277602 - implementation of xs:negativeInteger data type
- *     Mukul Gandhi - bug 277608 - implementation of xs:short data type
- *     Mukul Gandhi - bug 277609 - implementation of xs:nonNegativeInteger data type
- *     Mukul Gandhi - bug 277629 - implementation of xs:unsignedLong data type
- *     Mukul Gandhi - bug 277632 - implementation of xs:positiveInteger data type
- *     Mukul Gandhi - bug 277639 - implementation of xs:byte data type
- *     Mukul Gandhi - bug 277642 - implementation of xs:unsignedInt data type
- *     Mukul Gandhi - bug 277645 - implementation of xs:unsighedShort data type
- *     Mukul Gandhi - bug 277650 - implementation of xs:unsignedByte data type
- *     Mukul Gandhi - bug 281046 - implementation of xs:base64Binary data type
- *     David Carver - bug 282223 - implementation of xs:duration data type.
- *     David Carver - bug 262765 - implementation of xs:untypedAtomic data type.
- *     Jesper Moller - bug 297707 - Missing the empty-sequence() type
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.function;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.function.ConstructorFL;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * XML Schema control library support.
- */
-public class XSCtrLibrary extends ConstructorFL {
-	/**
-	 * Path to w3.org XML Schema specification.
-	 */
-	public static final String XML_SCHEMA_NS = "http://www.w3.org/2001/XMLSchema";
-
-	/**
-	 * Constructor for XSCtrLibrary.
-	 */
-	public XSCtrLibrary() {
-		super(XML_SCHEMA_NS);
-
-		// add types here
-		add_type(new XSString());
-		add_type(new XSBoolean());
-		add_type(new XSUntypedAtomic());
-		add_type(new XSNotation());
-
-		add_abstract_type("anyAtomicType", new AnyAtomicType() {
-			@Override
-			public String string_type() {
-				return null;
-			}
-			@Override
-			public String string_value() {
-				return null;
-			}
-		});
-		
-		// numeric
-		add_type(new XSDecimal());
-		add_type(new XSFloat());
-		add_type(new XSDouble());
-		add_type(new XSInteger());
-		add_type(new XSLong());
-		add_type(new XSInt());
-		add_type(new XSNonPositiveInteger());
-		add_type(new XSNegativeInteger());
-		add_type(new XSShort());
-		add_type(new XSNonNegativeInteger());
-		add_type(new XSUnsignedLong());
-		add_type(new XSPositiveInteger());
-		add_type(new XSByte());
-		add_type(new XSUnsignedInt());
-		add_type(new XSUnsignedShort());
-		add_type(new XSUnsignedByte());
-
-		// date
-		add_type(new XSDateTime());
-		add_type(new XSDate());
-		add_type(new XSTime());
-		add_type(new XSGYearMonth());
-		add_type(new XSGYear());
-		add_type(new XSGMonthDay());
-		add_type(new XSGMonth());
-		add_type(new XSGDay());
-
-		add_type(new QName());
-		add_type(new XSNCName());
-		add_type(new XSAnyURI());
-		add_type(new XSYearMonthDuration());
-		add_type(new XSDayTimeDuration());
-		add_type(new XSDuration());
-		add_type(new XSEntity());
-		add_type(new XSID());
-		add_type(new XSIDREF());
-		
-		add_type(new XSBase64Binary());
-		add_type(new XSHexBinary());
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/AncestorAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/AncestorAxis.java
deleted file mode 100644
index 219b98c..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/AncestorAxis.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * Returns the ancestors of the context node, this always includes the root
- * node.
- */
-public class AncestorAxis extends ParentAxis {
-
-	/**
-	 * Get the ancestors of the context node.
-	 * 
-	 * @param node
-	 *            is the type of node.
-	 * @param dc
-	 *            is the dynamic context.
-	 * @return The nodes that are ancestors of the context node.
-	 */
-	// XXX unify this with descendants axis ?
-	@Override
-	public ResultSequence iterate(NodeType node, DynamicContext dc) {
-
-		// get the parent
-		ResultSequence rs = super.iterate(node, dc);
-
-		// no parent
-		if (rs.size() == 0)
-			return rs;
-
-		NodeType parent = (NodeType) rs.get(0);
-
-		// get ancestors of parent
-		ResultSequence ances = iterate(parent, dc);
-
-		ances.concat(rs);
-
-		return ances;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/AncestorOrSelfAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/AncestorOrSelfAxis.java
deleted file mode 100644
index b12db23..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/AncestorOrSelfAxis.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * The ancestor-or-self axis contains the context node and the ancestors of the
- * context node, this always includes the root node.
- */
-// multiple inheretance might be cool here =D
-public class AncestorOrSelfAxis extends ReverseAxis {
-
-	/**
-	 * Get ancestor nodes of the context node and the context node itself.
-	 * 
-	 * @param node
-	 *            is the type of node.
-	 * @param dc
-	 *            is the dynamic context.
-	 * @return The context node and its ancestors.
-	 */
-	public ResultSequence iterate(NodeType node, DynamicContext dc) {
-		// get ancestors
-		AncestorAxis aa = new AncestorAxis();
-		ResultSequence rs = aa.iterate(node, dc);
-
-		// add self
-		rs.add(node);
-
-		return rs;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/AttributeAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/AttributeAxis.java
deleted file mode 100644
index 2ab1148..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/AttributeAxis.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Moller - bug 275610 - Avoid big time and memory overhead for externals
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.w3c.dom.*;
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * The attribute axis contains the attributes of the context node. The axis will
- * be empty unless the context node is an element.
- */
-public class AttributeAxis extends ForwardAxis {
-
-	/**
-	 * Retrieves the context node's attributes.
-	 * 
-	 * @param node
-	 *            is the type of node.
-	 * @param dc
-	 *            is the dynamic context.
-	 * @return The attibutes of the context node.
-	 */
-	public ResultSequence iterate(NodeType node, DynamicContext dc) {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// only elements have attributes
-		if (!(node instanceof ElementType))
-			return rs;
-
-		// get attributes
-		ElementType elem = (ElementType) node;
-		NamedNodeMap attrs = elem.value().getAttributes();
-
-		// add attributes
-		for (int i = 0; i < attrs.getLength(); i++) {
-			Attr attr = (Attr) attrs.item(i);
-
-			rs.add(NodeType.dom_to_xpath(attr));
-		}
-
-		return rs;
-
-	}
-
-	/**
-	 * Retrieves the node's principle node kind.
-	 * 
-	 * @return The type of node.
-	 */
-	@Override
-	public NodeType principal_node_kind() {
-		return new AttrType();
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/Axis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/Axis.java
deleted file mode 100644
index 96ce8b6..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/Axis.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * This is the interface class for an Axis.
- * 
- * An axis defines the "direction of movement" for a step between a context node
- * and another node that is reachable via the axis.
- */
-public interface Axis {
-	/**
-	 * Get elements and attributes.
-	 * 
-	 * @param node
-	 *            is the type of node.
-	 * @param dc
-	 *            is the dynamic context.
-	 * @return The result sequence.
-	 */
-	public ResultSequence iterate(NodeType node, DynamicContext dc);
-
-	/**
-	 * Get the principle kind of node.
-	 * 
-	 * @return The principle node kind.
-	 */
-	public NodeType principal_node_kind();
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ChildAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ChildAxis.java
deleted file mode 100644
index c2a1d7e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ChildAxis.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver (STAR) - bug 262765 - Was not handling xml loaded dynamically in variables. 
- *     Jesper Moller - bug 275610 - Avoid big time and memory overhead for externals
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.w3c.dom.*;
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * The child axis contains the children of the context node.
- */
-public class ChildAxis extends ForwardAxis {
-
-	/**
-	 * Retrieves the context node's children.
-	 * 
-	 * @param node
-	 *            is the type of node.
-	 * @param dc
-	 *            is the dynamic context.
-	 * @return The context node's children.
-	 */
-	public ResultSequence iterate(NodeType node, DynamicContext dc) {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-		NodeList nl = null;
-		
-
-		// only document and element nodes have children
-		if (node instanceof DocType) {
-			nl = ((DocType) node).value().getChildNodes();
-		}
-		if (node instanceof ElementType)
-			nl = ((ElementType) node).value().getChildNodes();
-
-		// add the children to the result
-		if (nl != null) {
-			for (int i = 0; i < nl.getLength(); i++) {
-				Node dnode = nl.item(i);
-				NodeType n = null;
-				try {
-					n = NodeType.dom_to_xpath(dnode);
-				} catch (NullPointerException ex) {
-					n = NodeType.dom_to_xpath(dnode);
-				}
-
-				rs.add(n);
-			}
-		}
-
-		return rs;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/CupError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/CupError.java
deleted file mode 100644
index 885c6da..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/CupError.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-/**
- * Error caused by CUP Parser.
- */
-public class CupError extends XPathError {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = -1835784623280692274L;
-
-	/**
-	 * Constructor for CUP error.
-	 * 
-	 * @param reason
-	 *            is the reason for the error.
-	 */
-	public CupError(String reason) {
-		super(reason);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DefaultRSFactory.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DefaultRSFactory.java
deleted file mode 100644
index cb5b89c..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DefaultRSFactory.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-/**
- * Factory implementation which creates sequences of type DefaultResultSequence.
- * 
- */
-public class DefaultRSFactory extends ResultSequenceFactory {
-	private static final ResultSequence _rs_creator = new DefaultResultSequence();
-
-	public static final int POOL_SIZE = 50;
-
-	private ResultSequence[] _rs_pool = new ResultSequence[POOL_SIZE];
-	private int _head_pos;
-
-	/**
-	 * Constructor of factory.
-	 * 
-	 */
-	public DefaultRSFactory() {
-		for (int i = 0; i < POOL_SIZE; i++)
-			_rs_pool[i] = _rs_creator.create_new();
-
-		_head_pos = POOL_SIZE - 1;
-	}
-
-	@Override
-	protected ResultSequence fact_create_new() {
-		if (_head_pos > 0) {
-			return _rs_pool[_head_pos--];
-		}
-
-		return _rs_creator.create_new();
-	}
-
-	@Override
-	protected void fact_release(ResultSequence rs) {
-		int new_pos = _head_pos + 1;
-
-		if (new_pos < POOL_SIZE) {
-			rs.clear();
-
-			_head_pos = new_pos;
-			_rs_pool[new_pos] = rs;
-		}
-	}
-
-	@Override
-	protected void fact_print_debug() {
-		System.out.println("Head pos: " + _head_pos);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DefaultResultSequence.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DefaultResultSequence.java
deleted file mode 100644
index 4838f56..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DefaultResultSequence.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import java.util.*;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * Default implementation of a result sequence.
- * 
- */
-public class DefaultResultSequence extends ResultSequence {
-
-	private List _seq;
-
-	/**
-	 * Constructor.
-	 * 
-	 * an empty array is created
-	 */
-	public DefaultResultSequence() {
-		_seq = new ArrayList();
-	}
-
-	/**
-	 * @param item
-	 *            is added
-	 */
-	public DefaultResultSequence(AnyType item) {
-		this();
-		add(item);
-	}
-
-	/**
-	 * @param item
-	 *            is added to array _seq
-	 */
-	@Override
-	public void add(AnyType item) {
-		assert item != null;
-		_seq.add(item);
-	}
-
-	/**
-	 * @param rs
-	 *            ResultSequence
-	 */
-	@Override
-	public void concat(ResultSequence rs) {
-		for (Iterator i = rs.iterator(); i.hasNext();)
-			_seq.add(i.next());
-	}
-
-	/**
-	 * @return the next iteration of array _seq
-	 */
-	@Override
-	public ListIterator iterator() {
-		return _seq.listIterator();
-	}
-
-	/**
-	 * @return integer of the size of array _seq
-	 */
-	@Override
-	public int size() {
-		return _seq.size();
-	}
-
-	/**
-	 * @param i
-	 *            is the position of the array item that is wanted.
-	 * @return item i from array _seq
-	 */
-	@Override
-	public AnyType get(int i) {
-		return (AnyType) _seq.get(i);
-	}
-
-	/**
-	 * @return first item from array _seq
-	 */
-	@Override
-	public AnyType first() {
-		if (_seq.size() == 0)
-			return null;
-
-		return get(0);
-	}
-
-	/**
-	 * Whether or not array _seq is empty
-	 * 
-	 * @return a boolean
-	 */
-	@Override
-	public boolean empty() {
-		return _seq.isEmpty();
-	}
-
-	/**
-	 * Clears the sequence.
-	 */
-	@Override
-	public void clear() {
-		_seq.clear();
-	}
-
-	/**
-	 * Create a new sequence.
-	 * 
-	 * @return The new sequence.
-	 */
-	@Override
-	public ResultSequence create_new() {
-		return new DefaultResultSequence();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DefaultStaticContext.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DefaultStaticContext.java
deleted file mode 100644
index 56e53cc..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DefaultStaticContext.java
+++ /dev/null
@@ -1,628 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver (STAR) - bug 277792 - add built in types to static context. 
- *     Jesper Steen Moller - bug 297707 - Missing the empty-sequence() type
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.apache.xerces.xs.*;
-import org.eclipse.wst.xml.xpath2.processor.StaticContext;
-import org.eclipse.wst.xml.xpath2.processor.function.FnFunctionLibrary;
-import org.eclipse.wst.xml.xpath2.processor.function.XSCtrLibrary;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-import org.w3c.dom.Document;
-
-import java.util.*;
-
-/**
- * Default implementation of a static context as described by the XPath 2.0
- * specification.
- */
-public class DefaultStaticContext implements StaticContext {
-
-	private boolean _xpath1_compatible;
-	private String _default_namespace;
-	private String _default_function_namespace;
-	private XSModel _schema;
-	private XSCtrLibrary builtinTypes;
-
-	// key: String prefix, contents: String namespace
-	private Map _namespaces;
-
-	private String _cntxt_item_type;
-	private Map _functions;
-
-	// XXX collations
-
-	private XSAnyURI _base_uri;
-	private Map _documents;
-	private Map _collections;
-	
-	public String get_cntxt_item_type() {
-		return _cntxt_item_type;
-	}
-
-	public void set_cntxt_item_type(String cntxtItemType) {
-		_cntxt_item_type = cntxtItemType;
-	}
-
-	public Map<String, List<Document>> get_collections() {
-		return _collections;
-	}
-
-	public void set_collections(Map<String, List<Document>> collections) {
-		_collections = collections;
-	}
-
-	public String get_default_collection_type() {
-		return _default_collection_type;
-	}
-
-	public void set_default_collection_type(String defaultCollectionType) {
-		_default_collection_type = defaultCollectionType;
-	}
-
-	private String _default_collection_type;
-
-	// Variables are held like this:
-	// A stack of maps of variables....
-	// or in more human terms:
-	// a stack of scopes each containing a symbol table
-	// XXX vars contain AnyType... should they be ResultSequence ?
-	private Stack _scopes;
-
-	/**
-	 * Constructor.
-	 * 
-	 * @param schema
-	 *            Schema information from document. May be null.
-	 */
-	public DefaultStaticContext(XSModel schema) {
-		_xpath1_compatible = false;
-
-		_default_namespace = null;
-		_default_function_namespace = FnFunctionLibrary.XPATH_FUNCTIONS_NS;
-		_schema = schema;
-		builtinTypes = new XSCtrLibrary();
-
-		_functions = new HashMap(20); // allow null keys: null namespace
-		_namespaces = new HashMap(20); // ditto
-
-		_cntxt_item_type = null;
-
-		_scopes = new Stack();
-		new_scope();
-
-		if (_schema != null)
-			init_schema(schema);
-
-		_base_uri = new XSAnyURI();
-
-		// XXX wildcard prefix
-		add_namespace("*", "*");
-
-	}
-
-	/**
-	 * Constructor for schema-less documents.
-	 * 
-	 */
-	public DefaultStaticContext() {
-		this(null);
-	}
-
-	private void init_schema(XSModel schema) {
-	}
-
-	/**
-	 * return the base URI
-	 * 
-	 * @return XSAnyURI
-	 */
-	public XSAnyURI base_uri() {
-		return _base_uri;
-	}
-
-	/**
-	 * is it xpath1 compatible?
-	 * 
-	 * @return boolean
-	 */
-	public boolean xpath1_compatible() {
-		return _xpath1_compatible;
-	}
-
-	/**
-	 * adds namespace
-	 * 
-	 * @param prefix
-	 *            namespace prefix
-	 * @param namespace
-	 *            namespace URI
-	 * 
-	 */
-	public void add_namespace(String prefix, String namespace) {
-		// XXX are these reserved ?
-		// refer to formal semantics section 2.5.1
-		if ((prefix != null) && (prefix.equals("fs") || prefix.equals("op") || prefix.equals("dm")))
-			return;
-		 if (prefix == null) {
-		   _default_namespace = namespace; 
-		   _namespaces.put("", namespace);
-		 } else {
-		   _namespaces.put(prefix, namespace);
-		 }
-	}
-
-	/**
-	 * Retrieves the default namespace, when one is not allocated
-	 * 
-	 * @return string
-	 */
-	public String default_namespace() {
-		return _default_namespace;
-	}
-
-	/**
-	 * Retrieves the defaul function namespace
-	 * 
-	 * @return string
-	 */
-	public String default_function_namespace() {
-		return _default_function_namespace;
-	}
-
-	/**
-	 * Adds a function to the library.
-	 * 
-	 * @param fl
-	 *            Function library to add.
-	 */
-	public void add_function_library(FunctionLibrary fl) {
-		fl.set_static_context(this);
-		_functions.put(fl.namespace(), fl);
-	}
-
-	/**
-	 * Check for existance of function.
-	 * 
-	 * @param name
-	 *            function name.
-	 * @param arity
-	 *            arity of function.
-	 * @return true if function exists. False otherwise.
-	 */
-	public boolean function_exists(QName name, int arity) {
-		String ns = name.namespace();
-		if (!_functions.containsKey(ns))
-			return false;
-
-		FunctionLibrary fl = (FunctionLibrary) _functions.get(ns);
-
-		return fl.function_exists(name, arity);
-	}
-
-	protected Function function(QName name, int arity) {
-		String ns = name.namespace();
-		if (!_functions.containsKey(ns))
-			return null;
-
-		FunctionLibrary fl = (FunctionLibrary) _functions.get(ns);
-
-		return fl.function(name, arity);
-	}
-
-	/**
-	 * 
-	 * Creates an atomic from a specific type name initialized with a default
-	 * value.
-	 * 
-	 * @param name
-	 *            name of type to create
-	 * @return Atomic type of desired type.
-	 */
-	public AnyAtomicType make_atomic(QName name) {
-		String ns = name.namespace();
-
-		if (!_functions.containsKey(ns))
-			return null;
-
-		FunctionLibrary fl = (FunctionLibrary) _functions.get(ns);
-
-		if (!(fl instanceof ConstructorFL))
-			return null;
-
-		ConstructorFL cfl = (ConstructorFL) fl;
-
-		return cfl.atomic_type(name);
-	}
-
-	private boolean expand_qname(QName name, String def) {
-		String prefix = name.prefix();
-
-		if (prefix == null) {
-			name.set_namespace(def);
-			return true;
-		}
-
-		if (!prefix_exists(prefix))
-			return false;
-
-		name.set_namespace(resolve_prefix(prefix));
-		return true;
-
-	}
-
-	/**
-	 * Expands the qname's prefix into a namespace.
-	 * 
-	 * @param name
-	 *            qname to expand.
-	 * @return true on success.
-	 */
-	public boolean expand_qname(QName name) {
-		return expand_qname(name, null);
-	}
-
-	/**
-	 * Expands a qname and uses the default function namespace if unprefixed.
-	 * 
-	 * @param name
-	 *            qname to expand.
-	 * @return true on success.
-	 */
-	public boolean expand_function_qname(QName name) {
-		return expand_qname(name, default_function_namespace());
-	}
-
-	/**
-	 * Expands a qname and uses the default type/element namespace if
-	 * unprefixed.
-	 * 
-	 * @param name
-	 *            qname to expand.
-	 * @return true on success.
-	 */
-	public boolean expand_elem_type_qname(QName name) {
-		return expand_qname(name, default_namespace());
-	}
-
-	/**
-	 * 
-	 * Checks whether the type is defined in the in scope schema definitions.
-	 * 
-	 * @param qname
-	 *            type name.
-	 * @return true if type is defined.
-	 */
-	public boolean type_defined(QName qname) {
-		
-		if (_schema == null) {
-			return builtinTypes.atomic_type(qname) != null;
-		}
-
-		XSTypeDefinition td = _schema.getTypeDefinition(qname.local(), qname
-				.namespace());
-		if (td == null)
-			return false;
-
-		return true;
-	}
-
-	/**
-	 * Checks whether the type is defined in the in scope schema definitions.
-	 * 
-	 * @param ns
-	 *            namespace of type.
-	 * @param type
-	 *            name of type.
-	 * @return true if type is defined.
-	 * 
-	 */
-	public boolean type_defined(String ns, String type) {
-		return type_defined(new QName(ns, type));
-	}
-
-	/**
-	 * is element declared?
-	 * 
-	 * @param elem
-	 *            name of element.
-	 * @return true if element declared.
-	 */
-	public boolean element_declared(QName elem) {
-		if (_schema == null)
-			return false;
-
-		XSElementDeclaration ed = _schema.getElementDeclaration(elem.local(),
-				elem.namespace());
-
-		if (ed == null)
-			return false;
-
-		return true;
-	}
-
-	/**
-	 * Obtains schema definition of the type of an element.
-	 * 
-	 * @param elem
-	 *            name of element who's type is desired.
-	 * @return schema definition of type
-	 */
-	public XSTypeDefinition element_type_definition(QName elem) {
-		XSElementDeclaration ed = _schema.getElementDeclaration(elem.local(),
-				elem.namespace());
-
-		return ed.getTypeDefinition();
-	}
-
-	/**
-	 * Checks if an attribute is in the in-scope schema definitions.
-	 * 
-	 * @param attr
-	 *            name of attribute.
-	 * @return true if attribute is declared.
-	 */
-	public boolean attribute_declared(QName attr) {
-		if (_schema == null)
-			return false;
-
-		XSAttributeDeclaration ad = _schema.getAttributeDeclaration(attr
-				.local(), attr.namespace());
-
-		if (ad == null)
-			return false;
-
-		return true;
-	}
-
-	/**
-	 * Retrieves type definition of the attribute in an element.
-	 * 
-	 * @param elem
-	 *            element name
-	 * @return schema definition of the type of the attribute
-	 */
-	public XSTypeDefinition attribute_type_definition(QName elem) {
-		XSAttributeDeclaration ad = _schema.getAttributeDeclaration(elem
-				.local(), elem.namespace());
-
-		return ad.getTypeDefinition();
-	}
-
-	/**
-	 * does prefix exist?
-	 * 
-	 * @param pref
-	 *            prefix name.
-	 * @return true if it does.
-	 */
-	public boolean prefix_exists(String pref) {
-		return _namespaces.containsKey(pref);
-	}
-
-	/**
-	 * Resolves a prefix into a namespace URI.
-	 * 
-	 * @param pref
-	 *            prefix name
-	 * @return uri prefix is resolved to or null.
-	 */
-	public String resolve_prefix(String pref) {
-		return (String) _namespaces.get(pref);
-	}
-
-	/**
-	 * Checks if an XML node derives from a specified type.
-	 * 
-	 * @param at
-	 *            node actual type
-	 * @param et
-	 *            name of expected type
-	 * @return true if a derivation exists
-	 */
-	// XXX fix this
-	public boolean derives_from(NodeType at, QName et) {
-		ItemPSVI psvi = (ItemPSVI) at.node_value();
-		XSTypeDefinition td = psvi.getTypeDefinition();
-
-		short method = 0;
-
-		// XXX
-		if (!et.expanded()) {
-			String pre = et.prefix();
-
-			if (pre != null) {
-				if (prefix_exists(pre)) {
-					et.set_namespace(resolve_prefix(pre));
-				} else
-					assert false;
-			} else
-				et.set_namespace(default_namespace());
-		}
-
-		return td.derivedFrom(et.namespace(), et.local(), method);
-	}
-
-	/**
-	 * Checks if an XML node derives from a specified type definition.
-	 * 
-	 * @param at
-	 *            node actual type.
-	 * @param et
-	 *            type definition of expected type.
-	 * @return true if a derivation exists.
-	 */
-	public boolean derives_from(NodeType at, XSTypeDefinition et) {
-		ItemPSVI psvi = (ItemPSVI) at.node_value();
-		XSTypeDefinition td = psvi.getTypeDefinition();
-
-		short method = 0;
-
-		return td.derivedFromType(et, method);
-	}
-
-	/**
-	 * Creates a new scope level.
-	 */
-	// variable stuff
-	public void new_scope() {
-		Map vars = new HashMap();
-
-		_scopes.push(vars);
-	}
-
-	/**
-	 * Destroys a scope.
-	 */
-	public void destroy_scope() {
-		_scopes.pop();
-	}
-
-	private Map current_scope() {
-		return (Map) _scopes.peek();
-	}
-
-	/**
-	 * does variable exist in current scope ?
-	 * 
-	 * @param var
-	 *            variable name.
-	 * @return true if it does.
-	 */
-	public boolean variable_exists(QName var) {
-		Map scope = current_scope();
-
-		return scope.containsKey(var);
-	}
-
-	/**
-	 * checks to see if variable is in scope
-	 * 
-	 * @param var
-	 *            variable name.
-	 * @return true if variable is in current or above scope.
-	 */
-	public boolean variable_in_scope(QName var) {
-		// order doesn't matter..
-		for (Iterator i = _scopes.iterator(); i.hasNext();) {
-			Map scope = (Map) i.next();
-
-			if (scope.containsKey(var))
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Adds a variable to current scope.
-	 * 
-	 * used for static checking.... i.e. presence of variables
-	 * 
-	 * @param var
-	 *            variable name to add.
-	 */
-	public void add_variable(QName var) {
-		set_variable(var, null);
-	}
-
-	// overwrites, or creates
-	protected void set_variable(QName var, AnyType val) {
-		Map scope = current_scope();
-
-		scope.put(var, val);
-	}
-
-	/**
-	 * Deletes a variable from current scope.
-	 * 
-	 * @param var
-	 *            variable name to delete.
-	 * @return false if variable doesn't exist.
-	 */
-	public boolean del_variable(QName var) {
-		if (!variable_exists(var))
-			return false;
-
-		Map scope = current_scope();
-		if (scope.remove(var) == null)
-			return false;
-		return true;
-
-	}
-
-	// return null if "not found"
-	protected AnyType get_var(QName var) {
-		// go through the stack in reverse order... reverse iterators
-		// would be nice here...
-
-		int pos = _scopes.size();
-		while (--pos >= 0) {
-			Map scope = (Map) _scopes.get(pos);
-
-			// gotcha
-			if (scope.containsKey(var)) {
-				return (AnyType) scope.get(var);
-			}
-		}
-
-		return null;
-	}
-
-	/**
-	 * Debug function which will print current variable scopes and info.
-	 */
-	// debug functions
-	public void debug_print_vars() {
-		int level = 0;
-
-		for (Iterator i = _scopes.iterator(); i.hasNext();) {
-			Map scope = (Map) i.next();
-
-			System.out.println("Scope level " + level);
-//			scope.entrySet().iterator();
-			for (Iterator j = scope.entrySet().iterator(); j.hasNext();) {
-				QName varname = (QName) j.next();
-
-				AnyType val = (AnyType) scope.get(varname);
-
-				String string_val = "null";
-
-				if (val != null)
-					string_val = val.string_value();
-
-				System.out.println("Varname: " + varname.string()
-						+ " expanded=" + varname.expanded() + " Value: "
-						+ string_val);
-
-			}
-
-			level++;
-		}
-	}
-
-	/**
-	 * Set the Base URI for the static context.
-	 */
-	public void set_base_uri(String baseuri) {
-		_base_uri = new XSAnyURI(baseuri);
-	}
-
-	public void set_documents(Map _documents) {
-		this._documents = _documents;
-	}
-
-	public Map get_documents() {
-		return _documents;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DescendantAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DescendantAxis.java
deleted file mode 100644
index 0cea2ee..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DescendantAxis.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * The descendant axis contains the descendants of the context node
- */
-public class DescendantAxis extends ChildAxis {
-
-	/**
-	 * Using the context node retrieve the descendants of this node
-	 * 
-	 * @param node
-	 *            is the type of node.
-	 * @param dc
-	 *            is the dynamic context.
-	 * @return The descendants of the context node.
-	 */
-	@Override
-	public ResultSequence iterate(NodeType node, DynamicContext dc) {
-		// get the children
-		ResultSequence rs = super.iterate(node, dc);
-
-		ArrayList descendants = new ArrayList();
-
-		// get descendants of all children
-		for (Iterator i = rs.iterator(); i.hasNext();) {
-			NodeType n = (NodeType) i.next();
-
-			descendants.add(iterate(n, dc));
-		}
-
-		// add descendants to result
-		for (Iterator i = descendants.iterator(); i.hasNext();) {
-			ResultSequence desc = (ResultSequence) i.next();
-
-			rs.concat(desc);
-		}
-
-		return rs;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DescendantOrSelfAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DescendantOrSelfAxis.java
deleted file mode 100644
index ebc0243..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DescendantOrSelfAxis.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * The descendant-or-self axis contains the context node and the descendants of
- * the context node.
- */
-// multiple inheretance might be cool here =D
-public class DescendantOrSelfAxis extends ForwardAxis {
-
-	/**
-	 * Retrieve the the descendants of the context node and the context node
-	 * itself.
-	 * 
-	 * @param node
-	 *            is the type of node.
-	 * @param dc
-	 *            is the dynamic context.
-	 * @return The context node and its descendants.
-	 */
-	public ResultSequence iterate(NodeType node, DynamicContext dc) {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// add self
-		rs.add(node);
-
-		// add descendants
-		DescendantAxis da = new DescendantAxis();
-		ResultSequence desc = da.iterate(node, dc);
-		rs.concat(desc);
-
-		return rs;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/Focus.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/Focus.java
deleted file mode 100644
index 6c8069e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/Focus.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moller - bug 281938 - handle missing focus
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * set the focus from a result sequence
- */
-public class Focus {
-	private int _cp; // context position
-	private ResultSequence _rs; // all items in context
-
-	/**
-	 * Sets the _rs to rs and context position to 1.
-	 * 
-	 * @param rs
-	 *            is a ResultSequence and is set to _rs.
-	 */
-	public Focus(ResultSequence rs) {
-		_rs = rs;
-		_cp = 1;
-	}
-
-	/**
-	 * Retrieves previous item from current context position.
-	 * 
-	 * @return the item from _rs, or null if there is no context item.
-	 */
-	public AnyType context_item() {
-		// idexes start at 0
-		if (_cp > _rs.size()) return null;
-		return _rs.get(_cp - 1);
-	}
-
-	/**
-	 * Checks to see if possible to advance rs.
-	 * 
-	 * @return the boolean.
-	 */
-	public boolean advance_cp() {
-		int size;
-
-		// check if we can advance
-		size = _rs.size();
-		if (_cp == size)
-			return false;
-
-		_cp++;
-		return true;
-	}
-
-	/**
-	 * returns an integer of the current position.
-	 * 
-	 * @return the current position of rs.
-	 */
-	public int position() {
-		return _cp;
-	}
-
-	/**
-	 * returns the position of the last item in rs.
-	 * 
-	 * @return the size of rs.
-	 */
-	public int last() {
-		return _rs.size();
-	}
-
-	/**
-	 * sets the position.
-	 * 
-	 * @param p
-	 *            is the position that is set.
-	 */
-	public void set_position(int p) {
-		_cp = p; // XXX no checks
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/FollowingAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/FollowingAxis.java
deleted file mode 100644
index 75b4b37..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/FollowingAxis.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * the following axis contains the context node's following siblings, those
- * children of the context node's parent that occur after the context node in
- * document order.
- */
-public class FollowingAxis extends ForwardAxis {
-
-	/**
-	 * Return the result of FollowingAxis expression
-	 * 
-	 * @param node
-	 *            is the type of node.
-	 * @param dc
-	 *            is the dynamic context.
-	 * @return The result of FollowingAxis.
-	 */
-	public ResultSequence iterate(NodeType node, DynamicContext dc) {
-		ResultSequence result = ResultSequenceFactory.create_new();
-
-		// XXX should be root... not parent!!! read the spec.... BUG BUG
-		// BUG LAME LAME....
-
-		// get the parent
-		NodeType parent = null;
-		ParentAxis pa = new ParentAxis();
-		ResultSequence rs = pa.iterate(node, dc);
-		if (rs.size() == 1)
-			parent = (NodeType) rs.get(0);
-
-		// get the following siblings of this node, and add them
-		FollowingSiblingAxis fsa = new FollowingSiblingAxis();
-		rs = fsa.iterate(node, dc);
-		result.concat(rs);
-
-		// for each sibling, get all its descendants
-		DescendantAxis da = new DescendantAxis();
-		for (Iterator i = rs.iterator(); i.hasNext();) {
-			ResultSequence desc = da.iterate((NodeType) i.next(), dc);
-
-			// add all descendants to the result
-			result.concat(desc);
-		}
-
-		// if we got a parent, we gotta repeat the story for the parent
-		// and add the results
-		if (parent != null) {
-			rs = iterate(parent, dc);
-			result.concat(rs);
-		}
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/FollowingSiblingAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/FollowingSiblingAxis.java
deleted file mode 100644
index f4cc78d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/FollowingSiblingAxis.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * The following-sibling axis contains the context node's following siblings,
- * those children of the context node's parent that occur after the context node
- * in document order; if the context node is an attribute nodeor namespace node,
- * the following-sibling axis is empty.
- */
-public class FollowingSiblingAxis extends ForwardAxis {
-
-	/**
-	 * Return the result of FollowingSiblingAxis expression
-	 * 
-	 * @param node
-	 *            is the type of node.
-	 * @param dc
-	 *            is the dynamic context.
-	 * @return The result of FollowingSiblingAxis.
-	 */
-	public ResultSequence iterate(NodeType node, DynamicContext dc) {
-		// XXX check for attribute / namespace node... if so return
-		// empty sequence
-
-		// get the parent
-		ParentAxis pa = new ParentAxis();
-		ResultSequence rs = pa.iterate(node, dc);
-
-		// XXX: if no parent, out of luck i guess
-		if (rs.size() == 0)
-			return rs;
-
-		// get the children of the parent [siblings]
-		ChildAxis ca = new ChildAxis();
-		NodeType parent = (NodeType) rs.get(0);
-		rs = ca.iterate(parent, dc);
-
-		// get the following siblings
-		for (Iterator i = rs.iterator(); i.hasNext();) {
-			NodeType n = (NodeType) i.next();
-
-			// if we haven't found the node yet, remove elements
-			// [preciding siblings]
-			// note: if node is first... its ok... cuz we don't
-			// include node...
-			i.remove();
-
-			// check reference of DOM object... should be correct ?!
-			// dunno... XXX
-			if (n.node_value() == node.node_value())
-				break;
-		}
-
-		return rs;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ForwardAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ForwardAxis.java
deleted file mode 100644
index d95bce8..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ForwardAxis.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * An axis that only ever contains the context node or nodes that are after the
- * context node in document order is a forward axis.
- */
-public abstract class ForwardAxis implements Axis {
-
-	/**
-	 * Return the new Element Type
-	 * 
-	 * @return The element type.
-	 */
-	// "default" type is element....
-	// remember to override for attribute and namespce axis tho!
-	public NodeType principal_node_kind() {
-		return new ElementType();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/JFlexError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/JFlexError.java
deleted file mode 100644
index 3301f33..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/JFlexError.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-/**
- * Error caused by JFlex
- */
-public class JFlexError extends XPathError {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = -7154784482417833297L;
-
-	/**
-	 * Constructor for JFlex error.
-	 * 
-	 * @param reason
-	 *            is the reason for the error.
-	 */
-	public JFlexError(String reason) {
-		super(reason);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/Normalizer.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/Normalizer.java
deleted file mode 100644
index f6c0547..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/Normalizer.java
+++ /dev/null
@@ -1,1002 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.StaticContext;
-import org.eclipse.wst.xml.xpath2.processor.ast.XPath;
-import org.eclipse.wst.xml.xpath2.processor.function.FnFunctionLibrary;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * Normalizer that uses XPathVisitor.
- */
-// XXX currently not supported anymore!
-public class Normalizer implements XPathVisitor {
-
-	private StaticContext _sc;
-
-	/**
-	 * Static Context is set to sc
-	 * 
-	 * @param sc
-	 *            is the StaticContext.
-	 */
-	public Normalizer(StaticContext sc) {
-		_sc = sc;
-	}
-
-	/**
-	 * Returns the normalized tree
-	 * 
-	 * @param xp
-	 *            is the xpath expression.
-	 * @return the xpath expressions.
-	 */
-	public Object visit(XPath xp) {
-		Collection exprs = new ArrayList();
-
-		for (Iterator i = xp.iterator(); i.hasNext();) {
-			Expr e = (Expr) i.next();
-
-			Expr n = (Expr) e.accept(this);
-
-			exprs.add(n);
-		}
-
-		return new XPath(exprs);
-	}
-
-	private void printVarExprPairs(Iterator i) {
-		while (i.hasNext()) {
-			VarExprPair pair = (VarExprPair) i.next();
-
-			QName var = pair.varname();
-			Expr e = pair.expr();
-
-			e.accept(this);
-		}
-	}
-
-	// does a for and a quantified expression
-	// takes the iterator for var expr paris
-	private void doForExpr(Iterator iter, Expr expr) {
-		Collection vars = new ArrayList();
-
-		// go through expression and cache variables
-		while (iter.hasNext()) {
-			VarExprPair pair = (VarExprPair) iter.next();
-
-			QName var = pair.varname();
-			Expr e = pair.expr();
-
-			// XXX this is wrong!
-			// need to define new scope, and reference "inner scope"
-			// [shadow outer vars]
-			/*
-			 * if(_sc.variable_exists(var)) report_error(new
-			 * StaticNameError("Variable " + var.string() +
-			 * " already defined"));
-			 */
-			// ok we can cheat here cuz we only care about variable
-			// "presence" not its specific instance / value so we
-			// can fakely shadow without creating explicit scopes
-			// if variable already exists.... then leave it there...
-			// [we do not need to create a new instance and delete
-			// it at the end]
-			// we only need to if variable does not exist
-			// XXX: i fink this is all wrong
-			vars.add(var);
-
-			e.accept(this);
-		}
-
-		// add variables to scope
-		for (Iterator i = vars.iterator(); i.hasNext();) {
-			QName var = (QName) i.next();
-		}
-
-		// do the bounded expression
-		expr.accept(this);
-
-		// remove variables
-	}
-
-	/**
-	 * 
-	 * @param fex
-	 *            is the For expression.
-	 * @return fex expression.
-	 */
-	public Object visit(ForExpr fex) {
-		ForExpr last = fex;
-		Expr ret = fex.expr();
-		int depth = 0;
-
-		for (Iterator i = fex.iterator(); i.hasNext();) {
-			VarExprPair ve = (VarExprPair) i.next();
-
-			// ok we got nested fors...
-			if (depth > 0) {
-				Collection pairs = new ArrayList();
-				pairs.add(ve);
-
-				ForExpr fe = new ForExpr(pairs, ret);
-				last.set_expr(fe);
-
-				last = fe;
-			}
-
-			depth++;
-		}
-
-		// normalize return value, and set it to the last for expr
-		ret.accept(this);
-
-		// get rid of the pairs in the parent (original) for
-		if (depth > 1)
-			fex.truncate_pairs();
-
-		return fex;
-	}
-
-	/**
-	 * 
-	 * @param qex
-	 *            is the Quantified expression.
-	 * @return qex expression.
-	 */
-	// XXX: code duplication
-	public Object visit(QuantifiedExpr qex) {
-		QuantifiedExpr last = qex;
-		Expr ret = qex.expr();
-		int depth = 0;
-
-		for (Iterator i = qex.iterator(); i.hasNext();) {
-			VarExprPair ve = (VarExprPair) i.next();
-
-			// ok we got nested fors...
-			if (depth > 0) {
-				Collection pairs = new ArrayList();
-				pairs.add(ve);
-
-				QuantifiedExpr qe = new QuantifiedExpr(qex.type(), pairs, ret);
-				last.set_expr(qe);
-
-				last = qe;
-			}
-
-			depth++;
-		}
-
-		// normalize return value, and set it to the last for expr
-		ret.accept(this);
-
-		// get rid of the pairs in the parent (original) for
-		if (depth > 1)
-			qex.truncate_pairs();
-
-		return qex;
-
-	}
-
-	private void printExprs(Iterator i) {
-		while (i.hasNext()) {
-			Expr e = (Expr) i.next();
-
-			e.accept(this);
-		}
-	}
-
-	/**
-	 * 
-	 * @param ifex
-	 *            is the 'if' expression.
-	 * @return ifex expression.
-	 */
-	public Object visit(IfExpr ifex) {
-
-		printExprs(ifex.iterator());
-
-		ifex.then_clause().accept(this);
-
-		ifex.else_clause().accept(this);
-
-		return ifex;
-	}
-
-	/**
-	 * @param name
-	 *            of binary expression.
-	 * @param e
-	 *            is the binary expression.
-	 */
-	public void printBinExpr(String name, BinExpr e) {
-		e.left().accept(this);
-		e.right().accept(this);
-	}
-
-	private BinExpr make_logic_expr(BinExpr e) {
-		Collection normalized = normalize_bin_args(e);
-
-		XPathNode nor_arr[] = new XPathNode[2];
-		int j = 0;
-
-		for (Iterator i = normalized.iterator(); i.hasNext();) {
-			nor_arr[j] = (XPathNode) i.next();
-			j++;
-		}
-
-		Collection args = new ArrayList();
-		args.add(nor_arr[0]);
-		e.set_left(make_function(new QName("fn", "boolean",
-				FnFunctionLibrary.XPATH_FUNCTIONS_NS), args));
-
-		args.clear();
-		args.add(nor_arr[1]);
-		e.set_right(make_function(new QName("fn", "boolean",
-				FnFunctionLibrary.XPATH_FUNCTIONS_NS), args));
-
-		return e;
-	}
-
-	/**
-	 * @param orex
-	 *            is the 'or' expression.
-	 * @return make logic expr(orex).
-	 */
-	public Object visit(OrExpr orex) {
-		return make_logic_expr(orex);
-	}
-
-	/**
-	 * @param andex
-	 *            is the 'and' expression.
-	 * @return make logic expr(andex).
-	 */
-	public Object visit(AndExpr andex) {
-		return make_logic_expr(andex);
-	}
-
-	/**
-	 * @param cmpex
-	 *            is the compare expression.
-	 * @return cmpex.
-	 */
-	public Object visit(CmpExpr cmpex) {
-		switch (cmpex.type()) {
-		case CmpExpr.EQ:
-			return make_CmpOp(cmpex, new QName("fs", "eq",
-					OpFunctionLibrary.XPATH_OP_NS));
-
-		case CmpExpr.NE:
-			return make_CmpOp(cmpex, new QName("fs", "ne",
-					OpFunctionLibrary.XPATH_OP_NS));
-
-		case CmpExpr.LT:
-			return make_CmpOp(cmpex, new QName("fs", "lt",
-					OpFunctionLibrary.XPATH_OP_NS));
-
-		case CmpExpr.GT:
-			return make_CmpOp(cmpex, new QName("fs", "gt",
-					OpFunctionLibrary.XPATH_OP_NS));
-
-		case CmpExpr.LE:
-			return make_CmpOp(cmpex, new QName("fs", "le",
-					OpFunctionLibrary.XPATH_OP_NS));
-
-		case CmpExpr.GE:
-			return make_CmpOp(cmpex, new QName("fs", "ge",
-					OpFunctionLibrary.XPATH_OP_NS));
-
-			// XXX don't have functs!
-		case CmpExpr.IS:
-			return make_function(new QName("op", "node-equal"),
-					normalize_bin_args(cmpex));
-
-		case CmpExpr.LESS_LESS:
-			return make_function(new QName("op", "node-before"),
-					normalize_bin_args(cmpex));
-
-		case CmpExpr.GREATER_GREATER:
-			return make_function(new QName("op", "node-after"),
-					normalize_bin_args(cmpex));
-		}
-
-		printBinExpr("CMP" + cmpex.type(), cmpex);
-		return cmpex;
-	}
-
-	private Collection normalize_bin_args(BinExpr e) {
-		Collection args = new ArrayList();
-
-		XPathNode left = (XPathNode) e.left().accept(this);
-		XPathNode right = (XPathNode) e.right().accept(this);
-
-		args.add(left);
-		args.add(right);
-
-		return args;
-	}
-
-	/**
-	 * @param rex
-	 *            is the range expression.
-	 * @return a new function.
-	 */
-	public Object visit(RangeExpr rex) {
-		Collection args = normalize_bin_args(rex);
-		return make_function(new QName("op", "to",
-				OpFunctionLibrary.XPATH_OP_NS), args);
-	}
-
-	private XPathExpr make_xpathexpr(PrimaryExpr pex) {
-		FilterExpr fe = new FilterExpr(pex, new ArrayList());
-		return new XPathExpr(0, fe);
-	}
-
-	private XPathExpr make_int_lit(int i) {
-		IntegerLiteral il = new IntegerLiteral(BigInteger.valueOf(i));
-		return make_xpathexpr(il);
-	}
-
-	private XPathExpr make_string_lit(String s) {
-		StringLiteral sl = new StringLiteral(s);
-		return make_xpathexpr(sl);
-	}
-
-	private XPathExpr make_convert_operand(XPathExpr arg1, XPathExpr arg2) {
-		Collection args = new ArrayList();
-		args.add(arg1);
-		args.add(arg2);
-
-		return make_function(new QName("fs", "convert-operand",
-				OpFunctionLibrary.XPATH_OP_NS), args);
-	}
-
-	private XPathExpr make_double_lit(double d) {
-		DoubleLiteral dl = new DoubleLiteral(d);
-		return make_xpathexpr(dl);
-	}
-
-	// fs:fname( fs:convert-operand( fn:data(ARG1), 1.0E0 ),
-	// fs:convert-operand( fn:data(ARG2), 1.0E0 )
-	// )
-	private XPathExpr make_convert_binop(BinExpr e, XPathExpr convarg,
-			QName name) {
-		Collection args = normalize_bin_args(e);
-		XPathExpr args_arr[] = new XPathExpr[2];
-		int j = 0;
-
-		for (Iterator i = args.iterator(); i.hasNext();) {
-			args_arr[j] = (XPathExpr) i.next();
-			j++;
-		}
-
-		Collection argsfname = new ArrayList();
-		for (j = 0; j < 2; j++) {
-			XPathExpr arg = make_convert_operand(args_arr[j], convarg);
-			argsfname.add(arg);
-		}
-		return make_function(name, argsfname);
-	}
-
-	private XPathExpr make_ArithOp(BinExpr e, QName name) {
-		return make_convert_binop(e, make_double_lit(1.0), name);
-	}
-
-	// fs:fname( fs:convert_operand( fn:data(ARG1), "string"),
-	// fs:convert_operand( fn:data(ARG2), "string")
-	// )
-	private XPathExpr make_CmpOp(BinExpr e, QName name) {
-		return make_convert_binop(e, make_string_lit("string"), name);
-	}
-
-	/**
-	 * @param addex
-	 *            is the add expression.
-	 * @return a new function.
-	 */
-	public Object visit(AddExpr addex) {
-		return make_ArithOp(addex, new QName("fs", "plus",
-				OpFunctionLibrary.XPATH_OP_NS));
-	}
-
-	/**
-	 * @param subex
-	 *            is the sub expression.
-	 * @return a new function.
-	 */
-	public Object visit(SubExpr subex) {
-		return make_ArithOp(subex, new QName("fs", "minus",
-				OpFunctionLibrary.XPATH_OP_NS));
-	}
-
-	/**
-	 * @param mulex
-	 *            is the multiply expression.
-	 * @return a new function.
-	 */
-	public Object visit(MulExpr mulex) {
-		return make_ArithOp(mulex, new QName("fs", "times",
-				OpFunctionLibrary.XPATH_OP_NS));
-	}
-
-	/**
-	 * @param mulex
-	 *            is the division expression.
-	 * @return a new function.
-	 */
-	public Object visit(DivExpr mulex) {
-		return make_ArithOp(mulex, new QName("fs", "div",
-				OpFunctionLibrary.XPATH_OP_NS));
-	}
-
-	/**
-	 * @param mulex
-	 *            is the integer division expression that always returns an
-	 *            integer.
-	 * @return a new function.
-	 */
-	// XXX: integer cast!
-	public Object visit(IDivExpr mulex) {
-		return make_ArithOp(mulex, new QName("fs", "idiv",
-				OpFunctionLibrary.XPATH_OP_NS));
-	}
-
-	/**
-	 * @param mulex
-	 *            is the mod expression.
-	 * @return a new function.
-	 */
-	public Object visit(ModExpr mulex) {
-		return make_ArithOp(mulex, new QName("fs", "mod",
-				OpFunctionLibrary.XPATH_OP_NS));
-	}
-
-	/**
-	 * @param unex
-	 *            is the union expression.
-	 * @return a new function.
-	 */
-	public Object visit(UnionExpr unex) {
-		Collection args = normalize_bin_args(unex);
-		return make_function(new QName("op", "union",
-				OpFunctionLibrary.XPATH_OP_NS), args);
-	}
-
-	/**
-	 * @param pipex
-	 *            is the pipe expression.
-	 * @return a new function.
-	 */
-	public Object visit(PipeExpr pipex) {
-		Collection args = normalize_bin_args(pipex);
-		return make_function(new QName("op", "union",
-				OpFunctionLibrary.XPATH_OP_NS), args);
-	}
-
-	/**
-	 * @param iexpr
-	 *            is the intersect expression.
-	 * @return a new function.
-	 */
-	public Object visit(IntersectExpr iexpr) {
-		Collection args = normalize_bin_args(iexpr);
-		return make_function(new QName("op", "intersect",
-				OpFunctionLibrary.XPATH_OP_NS), args);
-	}
-
-	/**
-	 * @param eexpr
-	 *            is the except expression.
-	 * @return a new function.
-	 */
-	public Object visit(ExceptExpr eexpr) {
-		Collection args = normalize_bin_args(eexpr);
-		return make_function(new QName("op", "except",
-				OpFunctionLibrary.XPATH_OP_NS), args);
-	}
-
-	/**
-	 * @param ioexp
-	 *            is the instance of expression.
-	 * @return a ioexp.
-	 */
-	public Object visit(InstOfExpr ioexp) {
-		printBinExpr("INSTANCEOF", ioexp);
-		return ioexp;
-	}
-
-	/**
-	 * @param taexp
-	 *            is the treat as expression.
-	 * @return a taexp.
-	 */
-	public Object visit(TreatAsExpr taexp) {
-		printBinExpr("TREATAS", taexp);
-		return taexp;
-	}
-
-	/**
-	 * @param cexp
-	 *            is the castable expression.
-	 * @return cexp.
-	 */
-	public Object visit(CastableExpr cexp) {
-		printBinExpr("CASTABLE", cexp);
-		return cexp;
-	}
-
-	/**
-	 * @param cexp
-	 *            is the cast expression.
-	 * @return cexp.
-	 */
-	public Object visit(CastExpr cexp) {
-		printBinExpr("CAST", cexp);
-		return cexp;
-	}
-
-	/**
-	 * @param name
-	 *            is the name.
-	 * @param e
-	 *            is the Un Expression.
-	 */
-	public void printUnExpr(String name, UnExpr e) {
-		e.arg().accept(this);
-
-	}
-
-	/**
-	 * @param e
-	 *            is the minus expression.
-	 * @return new sub expression
-	 */
-	public Object visit(MinusExpr e) {
-		SubExpr se = new SubExpr(make_int_lit(0), e.arg());
-		return se.accept(this);
-	}
-
-	/**
-	 * @param e
-	 *            is the plus expression.
-	 * @return new add expression
-	 */
-	public Object visit(PlusExpr e) {
-		AddExpr ae = new AddExpr(make_int_lit(0), e.arg());
-
-		return ae.accept(this);
-	}
-
-	private XPathExpr make_function(QName name, Collection args) {
-
-		FunctionCall fc = new FunctionCall(name, args);
-		FilterExpr fe = new FilterExpr(fc, new ArrayList());
-		return new XPathExpr(0, fe);
-
-	}
-
-	private XPathExpr make_root_self_node() {
-
-		// self::node()
-		Step self_node = new ForwardStep(ForwardStep.SELF, new AnyKindTest());
-		StepExpr self_node_expr = new AxisStep(self_node, new ArrayList());
-		XPathExpr self_node_xpath = new XPathExpr(0, self_node_expr);
-
-		// fn:root(self::node())
-		Collection args = new ArrayList();
-		args.add(self_node_xpath);
-		XPathExpr xpe = make_function(new QName("fn", "root",
-				FnFunctionLibrary.XPATH_FUNCTIONS_NS), args);
-
-		return xpe;
-	}
-
-	private XPathExpr make_descendant_or_self() {
-		Step desc_self_node = new ForwardStep(ForwardStep.DESCENDANT_OR_SELF,
-				new AnyKindTest());
-		StepExpr se = new AxisStep(desc_self_node, new ArrayList());
-
-		return new XPathExpr(0, se);
-	}
-
-	/**
-	 * @param e
-	 *            is the xpath expression.
-	 * @return result.
-	 */
-	public Object visit(XPathExpr e) {
-		XPathExpr xp = e;
-		int depth = 0; // indicates how many / we traversed
-		XPathExpr result = e;
-
-		while (xp != null) {
-			int slashes = xp.slashes();
-			StepExpr se = xp.expr();
-
-			if (slashes == 1) {
-				// this is a single slash and nothing else...
-				if (se == null)
-					return make_root_self_node();
-
-				// /RelativePathExpr
-				if (depth == 0) {
-					XPathExpr xpe = make_root_self_node();
-					xpe.set_next(e);
-
-					result = xpe;
-				}
-			}
-
-			if (slashes == 2) {
-				// //RelativePathExpr
-				if (depth == 0) {
-					XPathExpr desc = make_descendant_or_self();
-					desc.set_slashes(1);
-					e.set_slashes(1);
-					desc.set_next(e);
-
-					XPathExpr root_self = make_root_self_node();
-					root_self.set_next(desc);
-					return root_self;
-				}
-			}
-
-			if (se != null)
-				se.accept(this);
-
-			XPathExpr next = xp.next();
-
-			// peek if the next guy will have 2 slashes...
-			if (next != null) {
-				// StepExpr//StepExpr
-				if (next.slashes() == 2) {
-					// create the node to stick between the
-					// slashes
-					XPathExpr desc = make_descendant_or_self();
-					desc.set_slashes(1);
-
-					// current node / desc / next
-					xp.set_next(desc);
-					desc.set_next(next);
-					next.set_slashes(1);
-				}
-			}
-			xp = next;
-			depth++;
-		}
-		return result;
-	}
-
-	/**
-	 * @param e
-	 *            is the forward step.
-	 * @return e
-	 */
-	// XXX: normalzie!
-	public Object visit(ForwardStep e) {
-		int axis = e.axis();
-
-		switch (axis) {
-		case ForwardStep.AT_SYM:
-			e.set_axis(ForwardStep.ATTRIBUTE);
-			break;
-
-		case ForwardStep.NONE:
-			e.set_axis(ForwardStep.CHILD);
-			break;
-
-		}
-
-		e.node_test().accept(this);
-
-		return e;
-	}
-
-	/**
-	 * @param e
-	 *            is the reverse step.
-	 * @return e
-	 */
-	public Object visit(ReverseStep e) {
-
-		if (e.axis() == ReverseStep.DOTDOT) {
-			NodeTest nt = new AnyKindTest();
-			Step s = new ReverseStep(ReverseStep.PARENT, nt);
-
-			return s;
-		}
-
-		NodeTest nt = e.node_test();
-		if (nt != null)
-			nt.accept(this);
-
-		return e;
-	}
-
-	/**
-	 * @param e
-	 *            is the Name test.
-	 * @return e
-	 */
-	public Object visit(NameTest e) {
-
-		String prefix = e.name().prefix();
-
-		// XXX: is this correct ?
-		// i.e. if there is no prefix... its ok.. else it must exist
-		if (prefix == null)
-			return null;
-
-		return e;
-	}
-
-	/**
-	 * @param e
-	 *            is the veriable reference.
-	 * @return e
-	 */
-	public Object visit(VarRef e) {
-		return e;
-	}
-
-	/**
-	 * @param e
-	 *            is the string literal.
-	 * @return e
-	 */
-	public Object visit(StringLiteral e) {
-		return e;
-	}
-
-	/**
-	 * @param e
-	 *            is the integer literal.
-	 * @return e
-	 */
-	public Object visit(IntegerLiteral e) {
-		return e;
-	}
-
-	/**
-	 * @param e
-	 *            is the double literal.
-	 * @return e
-	 */
-	public Object visit(DoubleLiteral e) {
-		return e;
-	}
-
-	/**
-	 * @param e
-	 *            is the decimal literal.
-	 * @return e
-	 */
-	public Object visit(DecimalLiteral e) {
-		return e;
-	}
-
-	/**
-	 * @param e
-	 *            is the par expression.
-	 * @return e
-	 */
-	public Object visit(ParExpr e) {
-		printExprs(e.iterator());
-		return e;
-	}
-
-	/**
-	 * @param e
-	 *            is the Cntx Item Expression.
-	 * @return new function
-	 */
-	public Object visit(CntxItemExpr e) {
-		return new VarRef(new QName("fs", "dot"));
-	}
-
-	/**
-	 * @param e
-	 *            is the fucntion call.
-	 * @return e
-	 */
-	// XXX: how do we normalize ?
-	public Object visit(FunctionCall e) {
-
-		printExprs(e.iterator());
-		return e;
-	}
-
-	/**
-	 * @param e
-	 *            is the single type.
-	 * @return e
-	 */
-	public Object visit(SingleType e) {
-		return e;
-	}
-
-	/**
-	 * @param e
-	 *            is the sequence type.
-	 * @return e
-	 */
-	public Object visit(SequenceType e) {
-		ItemType it = e.item_type();
-
-		if (it != null)
-			it.accept(this);
-
-		return e;
-	}
-
-	/**
-	 * @param e
-	 *            is the item type.
-	 * @return e
-	 */
-	public Object visit(ItemType e) {
-
-		switch (e.type()) {
-		case ItemType.ITEM:
-			break;
-		case ItemType.QNAME:
-			break;
-
-		case ItemType.KINDTEST:
-			e.kind_test().accept(this);
-			break;
-		}
-
-		return e;
-	}
-
-	/**
-	 * @param e
-	 *            is the any kind test.
-	 * @return e
-	 */
-	public Object visit(AnyKindTest e) {
-		return e;
-	}
-
-	/**
-	 * @param e
-	 *            is the document test.
-	 * @return e
-	 */
-	public Object visit(DocumentTest e) {
-
-		switch (e.type()) {
-		case DocumentTest.ELEMENT:
-			e.elem_test().accept(this);
-			break;
-
-		case DocumentTest.SCHEMA_ELEMENT:
-			e.schema_elem_test().accept(this);
-			break;
-		}
-		return e;
-	}
-
-	/**
-	 * @param e
-	 *            is the text test.
-	 * @return e
-	 */
-	public Object visit(TextTest e) {
-		return e;
-	}
-
-	/**
-	 * @param e
-	 *            is the common test.
-	 * @return e
-	 */
-	public Object visit(CommentTest e) {
-		return e;
-	}
-
-	/**
-	 * @param e
-	 *            is the PI test.
-	 * @return e
-	 */
-	public Object visit(PITest e) {
-		String arg = e.arg();
-		if (arg == null)
-			arg = "";
-
-		return e;
-	}
-
-	/**
-	 * @param e
-	 *            is the attribute test.
-	 * @return e
-	 */
-	// XXX NO CHECK ?
-	public Object visit(AttributeTest e) {
-
-		return e;
-	}
-
-	/**
-	 * @param e
-	 *            is the schema attribute test.
-	 * @return e
-	 */
-	public Object visit(SchemaAttrTest e) {
-		return e;
-	}
-
-	/**
-	 * @param e
-	 *            is the element test.
-	 * @return e
-	 */
-	// XXX NO SEMANTIC CHECK?!
-	public Object visit(ElementTest e) {
-
-		return e;
-	}
-
-	/**
-	 * @param e
-	 *            is the schema element test.
-	 * @return e
-	 */
-	public Object visit(SchemaElemTest e) {
-		return e;
-	}
-
-	private void printCollExprs(Iterator i) {
-		while (i.hasNext()) {
-			Collection exprs = (Collection) i.next();
-
-			printExprs(exprs.iterator());
-		}
-	}
-
-	/**
-	 * @param e
-	 *            is the axis step.
-	 * @return e
-	 */
-	public Object visit(AxisStep e) {
-
-		Step s = (Step) e.step().accept(this);
-		e.set_step(s);
-
-		printCollExprs(e.iterator());
-		return e;
-	}
-
-	/**
-	 * @param e
-	 *            is the filter expression.
-	 * @return e
-	 */
-	public Object visit(FilterExpr e) {
-		PrimaryExpr pe = (PrimaryExpr) e.primary().accept(this);
-		e.set_primary(pe);
-
-		printCollExprs(e.iterator());
-		return e;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ParentAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ParentAxis.java
deleted file mode 100644
index a9af9e8..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ParentAxis.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Moller - bug 275610 - Avoid big time and memory overhead for externals
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.w3c.dom.*;
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * the parent axis contains the sequence returned by the dm:parent accessor in,
- * which returns the parent of the context node, or an empty sequence if the
- * context node has no parent
- */
-public class ParentAxis extends ReverseAxis {
-
-	/**
-	 * returns parent accessors of the context node
-	 * 
-	 * @param node
-	 *            is the node type.
-	 * @throws dc
-	 *             is the Dynamic context.
-	 * @return the accessors.
-	 */
-	public ResultSequence iterate(NodeType node, DynamicContext dc) {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		Node n = node.node_value();
-		Node parent = n.getParentNode();
-
-		// special case attribute elements...
-		// in this case... the parent is the element which owns the attr
-		if (n.getNodeType() == Node.ATTRIBUTE_NODE) {
-			Attr att = (Attr) n;
-
-			parent = att.getOwnerElement();
-		}
-
-		// if a parent exists... add it
-		if (parent != null)
-			rs.add(NodeType.dom_to_xpath(parent));
-
-		return rs;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/PrecedingAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/PrecedingAxis.java
deleted file mode 100644
index d491863..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/PrecedingAxis.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * the preceding axis contains all nodes that are descendants of the root of the
- * tree in which the context node is found
- */
-public class PrecedingAxis extends ReverseAxis {
-	// XXX DOCUMENT ORDER.... dunno
-
-	/**
-	 * returns preceding nodes of the context node
-	 * 
-	 * @param node
-	 *            is the node type.
-	 * @throws dc
-	 *             is the Dynamic context.
-	 * @return the descendants of the context node
-	 */
-	public ResultSequence iterate(NodeType node, DynamicContext dc) {
-		ResultSequence result = ResultSequenceFactory.create_new();
-
-		// get the parent
-		NodeType parent = null;
-		ParentAxis pa = new ParentAxis();
-		ResultSequence rs = pa.iterate(node, dc);
-		if (rs.size() == 1)
-			parent = (NodeType) rs.get(0);
-
-		// get the preceding siblings of this node, and add them
-		PrecedingSiblingAxis psa = new PrecedingSiblingAxis();
-		rs = psa.iterate(node, dc);
-		result.concat(rs);
-
-		// for each sibling, get all its descendants
-		DescendantAxis da = new DescendantAxis();
-		for (Iterator i = rs.iterator(); i.hasNext();) {
-			ResultSequence desc = da.iterate((NodeType) i.next(), dc);
-
-			// add all descendants to the result
-			result.concat(desc);
-		}
-
-		// if we got a parent, we gotta repeat the story for the parent
-		// and add the results
-		if (parent != null) {
-			rs = iterate(parent, dc);
-
-			rs.concat(result);
-			result = rs;
-		}
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/PrecedingSiblingAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/PrecedingSiblingAxis.java
deleted file mode 100644
index 8290814..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/PrecedingSiblingAxis.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * the preceding axis contains all nodes that are descendants of the root of the
- * tree in which the context node is found including the context node itself
- */
-public class PrecedingSiblingAxis extends ReverseAxis {
-	// XXX again, unify with following
-
-	/**
-	 * returns preceding nodes of the context node
-	 * 
-	 * @param node
-	 *            is the node type.
-	 * @throws dc
-	 *             is the Dynamic context.
-	 * @return the descendants and the context node
-	 */
-	public ResultSequence iterate(NodeType node, DynamicContext dc) {
-		boolean found = false;
-		// XXX check for attribute / namespace node... if so return
-		// empty sequence
-
-		// get the parent
-		ParentAxis pa = new ParentAxis();
-		ResultSequence rs = pa.iterate(node, dc);
-
-		// XXX: if no parent, out of luck i guess
-		if (rs.size() == 0)
-			return rs;
-
-		// get the children of the parent [siblings]
-		ChildAxis ca = new ChildAxis();
-		NodeType parent = (NodeType) rs.get(0);
-		rs = ca.iterate(parent, dc);
-
-		// get the preceding siblings
-		for (Iterator i = rs.iterator(); i.hasNext();) {
-			NodeType n = (NodeType) i.next();
-
-			// ok we passed the node, so just erase the rest of the
-			// results
-			if (found) {
-				i.remove();
-				continue;
-			}
-
-			if (n.node_value() == node.node_value()) {
-				i.remove();
-				found = true;
-			}
-		}
-
-		return rs;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/RangeResultSequence.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/RangeResultSequence.java
deleted file mode 100644
index 994acb2..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/RangeResultSequence.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 274805 - improvements to xs:integer data type 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import java.math.BigInteger;
-import java.util.*;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * A range expression can be used to construct a sequence of consecutive
- * integers.
- */
-public class RangeResultSequence extends ResultSequence {
-
-	private int _start;
-	private int _end;
-	private int _size;
-	private ResultSequence _tail;
-
-	/**
-	 * set the start and end of the range result sequence
-	 * 
-	 * @param start
-	 *            is the integer position of the start of range.
-	 * @param end
-	 *            is the integer position of the end of range.
-	 */
-	public RangeResultSequence(int start, int end) {
-		_size = (end - start) + 1;
-
-		assert _size >= 0;
-
-		_start = start;
-		_end = end;
-
-		_tail = ResultSequenceFactory.create_new();
-	}
-
-	/**
-	 * item is an integer to add to the range.
-	 * 
-	 * @param item
-	 *            is an integer.
-	 */
-	@Override
-	public void add(AnyType item) {
-		_tail.add(item);
-	}
-
-	/**
-	 * remove the tail from the range given.
-	 * 
-	 * @param rs
-	 *            is the range
-	 */
-	@Override
-	public void concat(ResultSequence rs) {
-		_tail.concat(rs);
-	}
-
-	/**
-	 * interate through range.
-	 * 
-	 * @return tail
-	 */
-	@Override
-	public ListIterator iterator() {
-		// XXX life is getting hard...
-		if (_size != 0) {
-			ResultSequence newtail = ResultSequenceFactory.create_new();
-
-			for (; _start <= _end; _start++)
-				newtail.add(new XSInteger(BigInteger.valueOf(_start)));
-
-			newtail.concat(_tail);
-			_tail.release();
-			_tail = newtail;
-
-			_size = 0;
-			_start = 0;
-			_end = 0;
-
-		}
-
-		return _tail.iterator();
-	}
-
-	/**
-	 * @return item from range
-	 */
-	@Override
-	public AnyType get(int i) {
-		if (i < _size)
-			return new XSInteger(BigInteger.valueOf(_start + i));
-		else
-			return _tail.get(i - _size);
-	}
-
-	/**
-	 * @return size
-	 */
-	@Override
-	public int size() {
-		return _size + _tail.size();
-	}
-
-	/**
-	 * clear range
-	 */
-	@Override
-	public void clear() {
-		_size = 0;
-		_tail.clear();
-	}
-
-	/**
-	 * create new result sequence
-	 * 
-	 * @return null
-	 */
-	@Override
-	public ResultSequence create_new() {
-		assert false;
-		return null;
-	}
-
-	/**
-	 * @return first item in range
-	 */
-	@Override
-	public AnyType first() {
-		return get(0);
-	}
-
-	/**
-	 * asks if the range is empty?
-	 * 
-	 * @return boolean
-	 */
-	@Override
-	public boolean empty() {
-		return size() == 0;
-	}
-
-	/**
-	 * release
-	 */
-	@Override
-	public void release() {
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ReverseAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ReverseAxis.java
deleted file mode 100644
index 36070d4..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ReverseAxis.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * An axis that only ever contains the context node or nodes that are before the
- * context node in document order is a reverse axis.
- */
-public abstract class ReverseAxis implements Axis {
-
-	/**
-	 * @return new element type
-	 */
-	// should always be element i fink
-	public NodeType principal_node_kind() {
-		return new ElementType();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/SelfAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/SelfAxis.java
deleted file mode 100644
index c8eed2e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/SelfAxis.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * Create a result sequence that contains the context node
- */
-public class SelfAxis extends ForwardAxis {
-
-	/**
-	 * create new rs and add the context node to it
-	 * 
-	 * @param node
-	 *            is the node type
-	 * @param dc
-	 *            is the dynamic context
-	 * @return rs containing node
-	 */
-	public ResultSequence iterate(NodeType node, DynamicContext dc) {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		rs.add(node);
-
-		return rs;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/SeqType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/SeqType.java
deleted file mode 100644
index 36759c9..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/SeqType.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - don't silently allow empty sequences always
- *     Jesper Steen Moeller - bug 297707 - Missing the empty-sequence() type
- *     David Carver - bug 298267 - Correctly handle instof with elements.
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.StaticContext;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-import org.w3c.dom.Node;
-
-import java.util.*;
-
-/**
- * represents a Sequence types used for matching expected arguments of functions
- */
-public class SeqType {
-
-	public static final int OCC_NONE = 0;
-	public static final int OCC_STAR = 1;
-	public static final int OCC_PLUS = 2;
-	public static final int OCC_QMARK = 3;
-	public static final int OCC_EMPTY = 4;
-
-	/**
-	 * Path to w3.org XML Schema specification.
-	 */
-	public static final String XML_SCHEMA_NS = "http://www.w3.org/2001/XMLSchema";
-
-	private static final QName ANY_ATOMIC_TYPE = new QName("xs",
-			"anyAtomicType", XML_SCHEMA_NS);
-
-	private transient AnyType anytype = null;
-	private transient int occ;
-	private transient Class typeClass = null;
-	private transient QName nodeName = null;
-	private transient boolean wild = false;
-
-	/**
-	 * sequence type
-	 * 
-	 * @param t
-	 *            is any type
-	 * @param occ
-	 *            is an integer in the sequence.
-	 */
-	public SeqType(AnyType t, int occ) {
-		anytype = t;
-		this.occ = occ;
-
-		if (t != null)
-			typeClass = t.getClass();
-		else
-			typeClass = null;
-	}
-
-	/**
-	 * @param occ
-	 *            is an integer in the sequence.
-	 */
-	// XXX hack to represent AnyNode...
-	public SeqType(int occ) {
-		this((AnyType) null, occ);
-
-		typeClass = NodeType.class;
-	}
-
-	/**
-	 * @param type_class
-	 *            is a class which represents the expected type
-	 * @param occ
-	 *            is an integer in the sequence.
-	 */
-	public SeqType(Class type_class, int occ) {
-		this((AnyType) null, occ);
-
-		this.typeClass = type_class;
-	}
-
-	/**
-	 * @param st
-	 *            is a sequence type.
-	 * @param sc
-	 *            is a static context.
-	 */
-	public SeqType(SequenceType st, StaticContext sc, ResultSequence rs) {
-
-		// convert occurrence
-		switch (st.occurrence()) {
-		case SequenceType.EMPTY:
-			occ = OCC_EMPTY;
-			return;
-
-		case SequenceType.NONE:
-			occ = OCC_NONE;
-			break;
-
-		case SequenceType.QUESTION:
-			occ = OCC_QMARK;
-			break;
-
-		case SequenceType.STAR:
-			occ = OCC_STAR;
-			break;
-
-		case SequenceType.PLUS:
-			occ = OCC_PLUS;
-			break;
-
-		default:
-			assert false;
-		}
-
-		// figure out the item is
-		final ItemType item = st.item_type();
-		KindTest ktest = null;
-		switch (item.type()) {
-		case ItemType.ITEM:
-			typeClass = AnyType.class;
-			return;
-
-			// XXX IMPLEMENT THIS
-		case ItemType.QNAME:
-			final AnyAtomicType aat = sc.make_atomic(item.qname());
-
-			assert aat != null;
-			anytype = aat;
-			if (item.qname().equals(ANY_ATOMIC_TYPE)) {
-				typeClass = AnyAtomicType.class;
-			} else {
-				typeClass = anytype.getClass();
-			}
-			return;
-
-		case ItemType.KINDTEST:
-			ktest = item.kind_test();
-			break;
-
-		}
-
-		if (ktest == null) {
-			return;
-		}
-
-		typeClass = ktest.getXDMClassType();
-		anytype = ktest.createTestType(rs);
-		nodeName = ktest.name();
-		wild = ktest.isWild();
-	}
-
-	/**
-	 * @param t
-	 *            is an any type.
-	 */
-	public SeqType(AnyType t) {
-		this(t, OCC_NONE);
-	}
-
-	/**
-	 * @return an integer.
-	 */
-	public int occurence() {
-		return occ;
-	}
-
-	/**
-	 * @return a type.
-	 */
-	public AnyType type() {
-		return anytype;
-	}
-
-	/**
-	 * matches args
-	 * 
-	 * @param args
-	 *            is a result sequence
-	 * @throws a
-	 *             dynamic error
-	 * @return a result sequence
-	 */
-	public ResultSequence match(ResultSequence args) throws DynamicError {
-
-		int occurrence = occurence();
-
-		// Check for empty sequence first
-		if (occurrence == OCC_EMPTY && !args.empty()) {
-			throw new DynamicError(TypeError.invalid_type(null));
-		}
-
-		int arg_count = 0;
-
-		for (Iterator i = args.iterator(); i.hasNext();) {
-			AnyType arg = (AnyType) i.next();
-
-			// make sure all args are the same type as expected type
-			if (!(typeClass.isInstance(arg))) {
-				throw new DynamicError(TypeError.invalid_type(null));
-			}
-
-			if (anytype != null) {
-				if ((nodeName != null || wild) && arg instanceof NodeType) {
-					NodeType nodeType = (NodeType) arg;
-					Node node = nodeType.node_value();
-					Node lnode = ((NodeType) anytype).node_value();
-					if (lnode == null) {
-						//throw new DynamicError(TypeError.invalid_type(null));
-						continue;
-					}
-					if (!lnode.isEqualNode(node)) {
-						//throw new DynamicError(TypeError.invalid_type(null));
-						continue;
-					}
-				}
-			}
-
-			arg_count++;
-
-		}
-
-		switch (occurrence) {
-		case OCC_NONE:
-			if (arg_count != 1) {
-				throw new DynamicError(TypeError.invalid_type(null));
-			}
-			break;
-
-		case OCC_PLUS:
-			if (arg_count == 0) {
-				throw new DynamicError(TypeError.invalid_type(null));
-			}
-			break;
-
-		case OCC_STAR:
-			break;
-
-		case OCC_QMARK:
-			if (arg_count > 1) {
-				throw new DynamicError(TypeError.invalid_type(null));
-			}
-			break;
-
-		default:
-			assert false;
-
-		}
-
-		return args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticAttrNameError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticAttrNameError.java
deleted file mode 100644
index 38fc937..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticAttrNameError.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-/**
- * Error caused by static attribute name.
- */
-public class StaticAttrNameError extends StaticNameError {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = -5037788654293050262L;
-
-	/**
-	 * Constructor for static attribute name error
-	 * 
-	 * @param reason
-	 *            is the reason for the error.
-	 */
-	public StaticAttrNameError(String reason) {
-		super(reason);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticElemNameError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticElemNameError.java
deleted file mode 100644
index fdd76bb..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticElemNameError.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-/**
- * Error caused by static element name.
- */
-public class StaticElemNameError extends StaticNameError {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 1871575671871755673L;
-
-	/**
-	 * Constructor for static element name error
-	 * 
-	 * @param reason
-	 *            is the reason for the error.
-	 */
-	public StaticElemNameError(String reason) {
-		super(reason);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticFunctNameError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticFunctNameError.java
deleted file mode 100644
index d7c389a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticFunctNameError.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-/**
- * Error caused by static function name.
- */
-public class StaticFunctNameError extends StaticNameError {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 3804565876770376444L;
-	public static final String FUNCTION_NOT_FOUND = "XPST0017";
-
-	/**
-	 * Constructor for static function name error
-	 * 
-	 * @param reason
-	 *            is the reason for the error.
-	 */
-	public StaticFunctNameError(String reason) {
-		super(FUNCTION_NOT_FOUND, reason);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticNameError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticNameError.java
deleted file mode 100644
index 29e52c3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticNameError.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.StaticError;
-
-/**
- * Error caused by static name.
- */
-public class StaticNameError extends StaticError {
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 4363370082563106074L;
-	public static final String NAME_NOT_FOUND = "XPST0008";
-	public static final String PREFIX_NOT_FOUND = "XPST0081";
-
-	/**
-	 * Constructor for static name error
-	 * 
-	 * @param code
-	 *            is the code.
-	 * @param reason
-	 *            is the reason for the error.
-	 */
-	public StaticNameError(String code, String reason) {
-		super(code, reason);
-	}
-
-	/**
-	 * Constructor for static name error
-	 * 
-	 * @param reason
-	 *            is the reason for the error.
-	 */
-	public StaticNameError(String reason) {
-		this(NAME_NOT_FOUND, reason);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticNsNameError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticNsNameError.java
deleted file mode 100644
index d3a436a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticNsNameError.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-/**
- * Static namespace name error class.
- */
-public class StaticNsNameError extends StaticNameError {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = -6873980377966290062L;
-
-	public StaticNsNameError(String reason) {
-		super(PREFIX_NOT_FOUND, reason);
-	}
-
-	/**
-	 * Constructor.
-	 * 
-	 * @param pref
-	 *            is the unknown prefix.
-	 * @return the error.
-	 */
-	public static StaticNsNameError unknown_prefix(String pref) {
-		String error = "Unknown prefix";
-
-		if (pref != null)
-			error += ": " + pref;
-		error += ".";
-
-		return new StaticNsNameError(error);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticTypeNameError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticTypeNameError.java
deleted file mode 100644
index 497019a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticTypeNameError.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver (STAR) - bug 273763 - correct error codes  
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-/**
- * Static type name error class.
- */
-public class StaticTypeNameError extends StaticNameError {
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 7328671571088574947L;
-	public static final String TYPE_NOT_FOUND = "XPST0051";
-
-	/**
-	 * Constructor.
-	 * 
-	 * @param reason
-	 *            is the reason for the error.
-	 */
-	public StaticTypeNameError(String reason) {
-		super(TYPE_NOT_FOUND, reason);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticVarNameError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticVarNameError.java
deleted file mode 100644
index 1475cb8..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticVarNameError.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-/**
- * Static variable name error class.
- */
-public class StaticVarNameError extends StaticNameError {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = -2308402954892821476L;
-
-	/**
-	 * Constructor.
-	 * 
-	 * @param reason
-	 *            is the reason for the error.
-	 */
-	public StaticVarNameError(String reason) {
-		super(reason);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/TypeError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/TypeError.java
deleted file mode 100644
index f99b210..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/TypeError.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver (STAR) - bug 273763 - correct error codes 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.XPathException;
-
-/**
- * Error caused by bad types.
- */
-public class TypeError extends XPathException {
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 932275035706936883L;
-	// errorcode specified in http://www.w3.org/2004/10/xqt-errors i fink
-	private String _code;
-
-	/**
-	 * Constructor for type error.
-	 * 
-	 * @param code
-	 *            is the error code.
-	 * @param err
-	 *            is the reason for the error.
-	 */
-	public TypeError(String code, String err) {
-		super(err);
-		_code = code;
-	}
-
-	/**
-	 * Get the error code.
-	 * 
-	 * @return The error code.
-	 */
-	public String code() {
-		return _code;
-	}
-
-	/**
-	 * "Factory" for building errors
-	 * 
-	 * @param err
-	 *            is the reason for the error.
-	 * @return the error.
-	 */
-	public static TypeError ci_not_node(String err) {
-		String error = "Context item is not a node.";
-
-		if (err != null)
-			error += " " + err;
-
-		return new TypeError("XPTY0020", error);
-	}
-
-	/**
-	 * "Factory" for building errors
-	 * 
-	 * @param err
-	 *            is the reason for the error.
-	 * @return the error.
-	 */
-	public static TypeError mixed_vals(String err) {
-		String error = "The result of the last step in a path expression contains both nodes and atomic values.";
-
-		if (err != null)
-			error += " " + err;
-
-		return new TypeError("XPTY0018", error);
-	}
-
-	/**
-	 * "Factory" for building errors
-	 * 
-	 * @param err
-	 *            is the reason for the error.
-	 * @return the error.
-	 */
-	public static TypeError step_conatins_atoms(String err) {
-		String error = "The result of an step (other than the last step) in a path expression contains an atomic value.";
-
-		if (err != null)
-			error += " " + err;
-
-		return new TypeError("XPTY0019", error);
-	}
-
-	/**
-	 * "Factory" for building errors
-	 * 
-	 * @param err
-	 *            is the reason for the error.
-	 * @return the error.
-	 */
-	public static TypeError invalid_type(String err) {
-		String error = "Value does not match a required type.";
-
-		if (err != null)
-			error += " " + err;
-
-		return new TypeError("XPTY0004", error);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPath2Plugin.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPath2Plugin.java
deleted file mode 100644
index 50065a4..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPath2Plugin.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver (STAR) - initial api and implementation 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.core.runtime.Plugin;
-
-public class XPath2Plugin extends Plugin {
-
-	public XPath2Plugin() {
-		// TODO Auto-generated constructor stub
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPathCup.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPathCup.java
deleted file mode 100644
index b9ed31d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPathCup.java
+++ /dev/null
@@ -1,6443 +0,0 @@
-
-//----------------------------------------------------
-// The following code was generated by CUP v0.10k
-// Mon Dec 14 02:02:22 CET 2009
-//----------------------------------------------------
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.*;
-import org.eclipse.wst.xml.xpath2.processor.ast.XPath;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/** CUP v0.10k generated parser.
-  * @version Mon Dec 14 02:02:22 CET 2009
-  */
-public class XPathCup extends java_cup.runtime.lr_parser {
-
-  /** Default constructor. */
-  public XPathCup() {super();}
-
-  /** Constructor which sets the default scanner. */
-  public XPathCup(java_cup.runtime.Scanner s) {super(s);}
-
-  /** Production table. */
-  protected static final short _production_table[][] = 
-    unpackFromStrings(new String[] {
-    "\000\u010f\000\002\114\003\000\002\002\004\000\002\033" +
-    "\003\000\002\033\005\000\002\061\003\000\002\061\003" +
-    "\000\002\061\003\000\002\061\003\000\002\115\005\000" +
-    "\002\036\007\000\002\036\010\000\002\116\007\000\002" +
-    "\116\007\000\002\035\005\000\002\035\010\000\002\117" +
-    "\012\000\002\066\003\000\002\066\005\000\002\065\003" +
-    "\000\002\065\005\000\002\070\003\000\002\070\005\000" +
-    "\002\070\005\000\002\070\005\000\002\067\003\000\002" +
-    "\067\005\000\002\062\003\000\002\062\005\000\002\062" +
-    "\005\000\002\057\003\000\002\057\005\000\002\057\005" +
-    "\000\002\057\005\000\002\057\005\000\002\056\003\000" +
-    "\002\056\005\000\002\056\005\000\002\060\003\000\002" +
-    "\060\005\000\002\060\005\000\002\054\003\000\002\054" +
-    "\006\000\002\052\003\000\002\052\006\000\002\053\003" +
-    "\000\002\053\006\000\002\055\003\000\002\055\006\000" +
-    "\002\047\003\000\002\047\004\000\002\047\004\000\002" +
-    "\121\003\000\002\063\003\000\002\063\003\000\002\063" +
-    "\003\000\002\063\003\000\002\063\003\000\002\063\003" +
-    "\000\002\064\003\000\002\064\003\000\002\064\003\000" +
-    "\002\064\003\000\002\064\003\000\002\064\003\000\002" +
-    "\027\003\000\002\027\003\000\002\027\003\000\002\120" +
-    "\003\000\002\120\004\000\002\120\004\000\002\120\003" +
-    "\000\002\046\003\000\002\046\005\000\002\046\005\000" +
-    "\002\045\003\000\002\045\003\000\002\122\004\000\002" +
-    "\122\004\000\002\043\004\000\002\043\003\000\002\026" +
-    "\004\000\002\026\004\000\002\026\004\000\002\026\004" +
-    "\000\002\026\004\000\002\026\004\000\002\026\004\000" +
-    "\002\026\004\000\002\044\004\000\002\044\003\000\002" +
-    "\041\004\000\002\041\003\000\002\025\004\000\002\025" +
-    "\004\000\002\025\004\000\002\025\004\000\002\025\004" +
-    "\000\002\042\003\000\002\040\003\000\002\040\003\000" +
-    "\002\071\003\000\002\071\003\000\002\023\003\000\002" +
-    "\023\005\000\002\123\004\000\002\034\004\000\002\034" +
-    "\002\000\002\124\005\000\002\037\003\000\002\037\003" +
-    "\000\002\037\003\000\002\037\003\000\002\037\003\000" +
-    "\002\073\003\000\002\073\003\000\002\077\003\000\002" +
-    "\077\003\000\002\077\003\000\002\074\004\000\002\032" +
-    "\004\000\002\032\005\000\002\075\003\000\002\076\005" +
-    "\000\002\076\006\000\002\031\003\000\002\031\005\000" +
-    "\002\050\003\000\002\050\004\000\002\051\003\000\002" +
-    "\051\004\000\002\051\005\000\002\024\003\000\002\024" +
-    "\003\000\002\024\003\000\002\030\003\000\002\030\003" +
-    "\000\002\030\005\000\002\020\003\000\002\072\003\000" +
-    "\002\072\003\000\002\072\003\000\002\072\003\000\002" +
-    "\072\003\000\002\072\003\000\002\072\003\000\002\072" +
-    "\003\000\002\072\003\000\002\110\005\000\002\103\005" +
-    "\000\002\103\006\000\002\103\006\000\002\104\005\000" +
-    "\002\105\005\000\002\106\005\000\002\106\006\000\002" +
-    "\106\006\000\002\107\005\000\002\107\006\000\002\107" +
-    "\010\000\002\016\003\000\002\016\003\000\002\112\006" +
-    "\000\002\015\003\000\002\111\005\000\002\111\006\000" +
-    "\002\111\010\000\002\111\011\000\002\012\003\000\002" +
-    "\012\003\000\002\113\006\000\002\011\003\000\002\017" +
-    "\003\000\002\014\003\000\002\013\003\000\002\101\003" +
-    "\000\002\100\003\000\002\102\003\000\002\010\003\000" +
-    "\002\022\003\000\002\021\003\000\002\021\005\000\002" +
-    "\003\003\000\002\004\003\000\002\007\003\000\002\005" +
-    "\003\000\002\005\003\000\002\005\003\000\002\005\003" +
-    "\000\002\005\003\000\002\005\003\000\002\005\003\000" +
-    "\002\005\003\000\002\005\003\000\002\005\003\000\002" +
-    "\005\003\000\002\005\003\000\002\005\003\000\002\005" +
-    "\003\000\002\005\003\000\002\005\003\000\002\005\003" +
-    "\000\002\005\003\000\002\005\003\000\002\005\003\000" +
-    "\002\005\003\000\002\005\003\000\002\005\003\000\002" +
-    "\005\003\000\002\005\003\000\002\005\003\000\002\005" +
-    "\003\000\002\005\003\000\002\005\003\000\002\005\003" +
-    "\000\002\005\003\000\002\005\003\000\002\005\003\000" +
-    "\002\005\003\000\002\005\003\000\002\005\003\000\002" +
-    "\005\003\000\002\005\003\000\002\005\003\000\002\005" +
-    "\003\000\002\005\003\000\002\005\003\000\002\005\003" +
-    "\000\002\005\003\000\002\005\003\000\002\005\003\000" +
-    "\002\005\003\000\002\005\003\000\002\005\003\000\002" +
-    "\005\003\000\002\006\003\000\002\006\003\000\002\006" +
-    "\003\000\002\006\003\000\002\006\003\000\002\006\003" +
-    "\000\002\006\003\000\002\006\003\000\002\006\003\000" +
-    "\002\006\003\000\002\006\003\000\002\006\003\000\002" +
-    "\006\003\000\002\006\003\000\002\006\003\000\002\006" +
-    "\003\000\002\006\003\000\002\006\003\000\002\006\003" +
-    "\000\002\006\003\000\002\006\003\000\002\006\003\000" +
-    "\002\006\003\000\002\006\003\000\002\006\003\000\002" +
-    "\006\003\000\002\006\003\000\002\006\003\000\002\006" +
-    "\003\000\002\006\003\000\002\006\003\000\002\006\003" +
-    "\000\002\006\003\000\002\006\003\000\002\006\003\000" +
-    "\002\125\002\000\002\006\005" });
-
-  /** Access to production table. */
-  public short[][] production_table() {return _production_table;}
-
-  /** Parse-action table. */
-  protected static final short[][] _action_table = 
-    unpackFromStrings(new String[] {
-    "\000\u0192\000\200\006\101\010\076\011\134\012\107\024" +
-    "\022\025\006\027\070\030\117\033\071\034\120\036\040" +
-    "\037\156\040\145\041\045\042\004\043\041\044\010\045" +
-    "\020\046\012\047\031\050\110\051\066\052\061\061\111" +
-    "\062\077\063\067\064\102\065\125\066\072\067\050\070" +
-    "\155\071\023\073\133\074\154\075\135\076\106\077\142" +
-    "\100\113\101\171\102\175\103\157\104\046\105\147\106" +
-    "\052\107\114\110\173\111\143\112\132\113\126\114\024" +
-    "\115\016\116\047\117\124\120\141\121\056\122\051\123" +
-    "\055\124\153\125\034\126\035\127\104\130\167\131\123" +
-    "\001\002\000\134\002\uff12\004\uff12\005\uff12\006\uff12\007" +
-    "\uff12\010\uff12\011\uff12\012\uff12\013\uff12\014\uff12\015\uff12" +
-    "\016\uff12\017\uff12\020\uff12\021\uff12\022\uff12\023\uff12\024" +
-    "\uff12\025\uff12\026\u0194\031\uff43\032\uff12\053\uff12\054\uff12" +
-    "\055\uff12\056\uff12\057\uff12\060\uff12\061\uff12\062\uff12\063" +
-    "\uff12\064\uff12\065\uff12\066\uff12\067\uff12\071\uff12\073\uff12" +
-    "\074\uff12\075\uff12\100\uff12\101\uff12\102\uff12\107\uff12\110" +
-    "\uff12\111\uff12\001\002\000\126\002\uff8d\004\uff8d\005\uff8d" +
-    "\007\uff8d\010\uff8d\011\uff8d\012\uff8d\013\uff8d\014\uff8d\015" +
-    "\uff8d\016\uff8d\017\uff8d\020\uff8d\021\uff8d\022\uff8d\023\uff8d" +
-    "\024\uff8d\025\uff8d\032\uff8d\053\uff8d\054\uff8d\055\uff8d\056" +
-    "\uff8d\057\uff8d\060\uff8d\061\uff8d\062\uff8d\063\uff8d\064\uff8d" +
-    "\065\uff8d\066\uff8d\067\uff8d\071\uff8d\073\uff8d\074\uff8d\075" +
-    "\uff8d\100\uff8d\101\uff8d\102\uff8d\107\uff8d\110\uff8d\111\uff8d" +
-    "\001\002\000\170\006\101\012\107\027\070\030\117\033" +
-    "\071\034\120\036\040\037\156\040\145\041\045\042\004" +
-    "\043\041\044\010\045\020\046\012\047\031\050\110\051" +
-    "\066\052\061\061\111\062\077\063\067\064\102\065\125" +
-    "\066\072\067\050\070\155\071\023\073\133\074\154\075" +
-    "\135\076\203\077\142\100\113\101\171\102\175\103\205" +
-    "\104\201\105\204\106\052\107\114\110\173\111\143\112" +
-    "\132\113\126\114\024\115\016\116\047\117\124\120\141" +
-    "\121\056\122\051\123\055\124\153\125\034\126\035\127" +
-    "\104\130\167\131\123\001\002\000\022\002\ufffa\005\ufffa" +
-    "\007\ufffa\032\ufffa\100\ufffa\101\ufffa\107\ufffa\111\u0191\001" +
-    "\002\000\134\002\uff10\004\uff10\005\uff10\006\uff10\007\uff10" +
-    "\010\uff10\011\uff10\012\uff10\013\uff10\014\uff10\015\uff10\016" +
-    "\uff10\017\uff10\020\uff10\021\uff10\022\uff10\023\uff10\024\uff10" +
-    "\025\uff10\026\u0190\031\uff41\032\uff10\053\uff10\054\uff10\055" +
-    "\uff10\056\uff10\057\uff10\060\uff10\061\uff10\062\uff10\063\uff10" +
-    "\064\uff10\065\uff10\066\uff10\067\uff10\071\uff10\073\uff10\074" +
-    "\uff10\075\uff10\100\uff10\101\uff10\102\uff10\107\uff10\110\uff10" +
-    "\111\uff10\001\002\000\146\012\107\036\232\037\240\040" +
-    "\u0124\041\241\042\237\043\236\044\250\045\226\046\246" +
-    "\047\244\050\225\051\242\052\243\061\111\062\077\063" +
-    "\067\064\102\065\125\066\072\067\050\070\155\071\023" +
-    "\073\133\074\154\075\135\076\203\077\142\100\113\101" +
-    "\171\102\175\103\205\104\201\105\204\106\052\107\114" +
-    "\110\173\111\143\112\132\113\126\114\024\115\016\116" +
-    "\047\117\124\120\141\121\056\122\051\123\055\124\153" +
-    "\131\123\001\002\000\134\002\uff0e\004\uff0e\005\uff0e\006" +
-    "\uff0e\007\uff0e\010\uff0e\011\uff0e\012\uff0e\013\uff0e\014\uff0e" +
-    "\015\uff0e\016\uff0e\017\uff0e\020\uff0e\021\uff0e\022\uff0e\023" +
-    "\uff0e\024\uff0e\025\uff0e\026\u018e\031\uff3f\032\uff0e\053\uff0e" +
-    "\054\uff0e\055\uff0e\056\uff0e\057\uff0e\060\uff0e\061\uff0e\062" +
-    "\uff0e\063\uff0e\064\uff0e\065\uff0e\066\uff0e\067\uff0e\071\uff0e" +
-    "\073\uff0e\074\uff0e\075\uff0e\100\uff0e\101\uff0e\102\uff0e\107" +
-    "\uff0e\110\uff0e\111\uff0e\001\002\000\004\002\u018d\001\002" +
-    "\000\120\002\uffd3\005\uffd3\007\uffd3\010\uffd3\011\uffd3\012" +
-    "\uffd3\013\uffd3\014\uffd3\015\uffd3\016\uffd3\017\uffd3\020\uffd3" +
-    "\021\uffd3\022\uffd3\023\uffd3\032\uffd3\053\uffd3\054\uffd3\055" +
-    "\uffd3\056\uffd3\057\uffd3\060\uffd3\061\uffd3\062\uffd3\063\uffd3" +
-    "\064\uffd3\065\uffd3\066\uffd3\067\uffd3\071\uffd3\073\uffd3\074" +
-    "\u018a\075\uffd3\100\uffd3\101\uffd3\102\uffd3\107\uffd3\110\uffd3" +
-    "\111\uffd3\001\002\000\112\002\uffd9\005\uffd9\007\uffd9\010" +
-    "\uffd9\011\uffd9\012\uffd9\013\uffd9\014\uffd9\015\uffd9\016\uffd9" +
-    "\017\uffd9\020\uffd9\021\uffd9\022\uffd9\023\uffd9\032\uffd9\053" +
-    "\uffd9\054\uffd9\055\uffd9\056\uffd9\057\uffd9\060\uffd9\061\uffd9" +
-    "\062\uffd9\063\uffd9\064\uffd9\065\uffd9\066\uffd9\067\u0187\075" +
-    "\uffd9\100\uffd9\101\uffd9\102\uffd9\107\uffd9\110\uffd9\111\uffd9" +
-    "\001\002\000\006\006\u017f\031\uff23\001\002\000\126\002" +
-    "\uff8c\004\uff8c\005\uff8c\007\uff8c\010\uff8c\011\uff8c\012\uff8c" +
-    "\013\uff8c\014\uff8c\015\uff8c\016\uff8c\017\uff8c\020\uff8c\021" +
-    "\uff8c\022\uff8c\023\uff8c\024\uff8c\025\uff8c\032\uff8c\053\uff8c" +
-    "\054\uff8c\055\uff8c\056\uff8c\057\uff8c\060\uff8c\061\uff8c\062" +
-    "\uff8c\063\uff8c\064\uff8c\065\uff8c\066\uff8c\067\uff8c\071\uff8c" +
-    "\073\uff8c\074\uff8c\075\uff8c\100\uff8c\101\uff8c\102\uff8c\107" +
-    "\uff8c\110\uff8c\111\uff8c\001\002\000\134\002\uff0f\004\uff0f" +
-    "\005\uff0f\006\uff0f\007\uff0f\010\uff0f\011\uff0f\012\uff0f\013" +
-    "\uff0f\014\uff0f\015\uff0f\016\uff0f\017\uff0f\020\uff0f\021\uff0f" +
-    "\022\uff0f\023\uff0f\024\uff0f\025\uff0f\026\u017e\031\uff40\032" +
-    "\uff0f\053\uff0f\054\uff0f\055\uff0f\056\uff0f\057\uff0f\060\uff0f" +
-    "\061\uff0f\062\uff0f\063\uff0f\064\uff0f\065\uff0f\066\uff0f\067" +
-    "\uff0f\071\uff0f\073\uff0f\074\uff0f\075\uff0f\100\uff0f\101\uff0f" +
-    "\102\uff0f\107\uff0f\110\uff0f\111\uff0f\001\002\000\126\002" +
-    "\uff91\004\uff91\005\uff91\007\uff91\010\uff91\011\uff91\012\uff91" +
-    "\013\uff91\014\uff91\015\uff91\016\uff91\017\uff91\020\uff91\021" +
-    "\uff91\022\uff91\023\uff91\024\uff91\025\uff91\032\uff91\053\uff91" +
-    "\054\uff91\055\uff91\056\uff91\057\uff91\060\uff91\061\uff91\062" +
-    "\uff91\063\uff91\064\uff91\065\uff91\066\uff91\067\uff91\071\uff91" +
-    "\073\uff91\074\uff91\075\uff91\100\uff91\101\uff91\102\uff91\107" +
-    "\uff91\110\uff91\111\uff91\001\002\000\242\002\uffbe\005\uffbe" +
-    "\006\101\007\uffbe\010\uffbe\011\uffbe\012\107\013\uffbe\014" +
-    "\uffbe\015\uffbe\016\uffbe\017\uffbe\020\uffbe\021\uffbe\022\uffbe" +
-    "\023\uffbe\027\070\030\117\032\uffbe\033\071\034\120\036" +
-    "\040\037\156\040\145\041\045\042\004\043\041\044\010" +
-    "\045\020\046\012\047\031\050\110\051\066\052\061\053" +
-    "\uffbe\054\uffbe\055\uffbe\056\uffbe\057\uffbe\060\uffbe\061\111" +
-    "\062\077\063\067\064\102\065\125\066\072\067\050\070" +
-    "\155\071\023\073\133\074\154\075\135\076\203\077\142" +
-    "\100\113\101\171\102\175\103\205\104\201\105\204\106" +
-    "\052\107\114\110\173\111\143\112\132\113\126\114\024" +
-    "\115\016\116\047\117\124\120\141\121\056\122\051\123" +
-    "\055\124\153\125\034\126\035\127\104\130\167\131\123" +
-    "\001\002\000\136\002\uff04\004\uff04\005\uff04\006\uff04\007" +
-    "\uff04\010\uff04\011\uff04\012\uff04\013\uff04\014\uff04\015\uff04" +
-    "\016\uff04\017\uff04\020\uff04\021\uff04\022\uff04\023\uff04\024" +
-    "\uff04\025\uff04\031\uff35\032\uff04\035\uff04\053\uff04\054\uff04" +
-    "\055\uff04\056\uff04\057\uff04\060\uff04\061\uff04\062\uff04\063" +
-    "\uff04\064\uff04\065\uff04\066\uff04\067\uff04\071\uff04\073\uff04" +
-    "\074\uff04\075\uff04\077\uff04\100\uff04\101\uff04\102\uff04\107" +
-    "\uff04\110\uff04\111\uff04\001\002\000\006\006\u017b\031\uff1f" +
-    "\001\002\000\130\002\uff77\004\uff77\005\uff77\007\uff77\010" +
-    "\uff77\011\uff77\012\uff77\013\uff77\014\uff77\015\uff77\016\uff77" +
-    "\017\uff77\020\uff77\021\uff77\022\uff77\023\uff77\024\uff77\025" +
-    "\uff77\032\uff77\035\uff77\053\uff77\054\uff77\055\uff77\056\uff77" +
-    "\057\uff77\060\uff77\061\uff77\062\uff77\063\uff77\064\uff77\065" +
-    "\uff77\066\uff77\067\uff77\071\uff77\073\uff77\074\uff77\075\uff77" +
-    "\100\uff77\101\uff77\102\uff77\107\uff77\110\uff77\111\uff77\001" +
-    "\002\000\130\002\uff71\004\uff71\005\uff71\007\uff71\010\uff71" +
-    "\011\uff71\012\uff71\013\uff71\014\uff71\015\uff71\016\uff71\017" +
-    "\uff71\020\uff71\021\uff71\022\uff71\023\uff71\024\uff71\025\uff71" +
-    "\032\uff71\035\uff71\053\uff71\054\uff71\055\uff71\056\uff71\057" +
-    "\uff71\060\uff71\061\uff71\062\uff71\063\uff71\064\uff71\065\uff71" +
-    "\066\uff71\067\uff71\071\uff71\073\uff71\074\uff71\075\uff71\100" +
-    "\uff71\101\uff71\102\uff71\107\uff71\110\uff71\111\uff71\001\002" +
-    "\000\070\002\uffe9\005\uffe9\007\uffe9\010\u0176\011\u0177\014" +
-    "\uffe9\015\uffe9\016\uffe9\017\uffe9\020\uffe9\021\uffe9\022\uffe9" +
-    "\023\uffe9\032\uffe9\053\uffe9\054\uffe9\055\uffe9\056\uffe9\057" +
-    "\uffe9\060\uffe9\075\uffe9\100\uffe9\101\uffe9\102\u0175\107\uffe9" +
-    "\110\uffe9\111\uffe9\001\002\000\124\002\uffb7\005\uffb7\007" +
-    "\uffb7\010\uffb7\011\uffb7\012\uffb7\013\uffb7\014\uffb7\015\uffb7" +
-    "\016\uffb7\017\uffb7\020\uffb7\021\uffb7\022\uffb7\023\uffb7\024" +
-    "\uffb7\025\uffb7\032\uffb7\053\uffb7\054\uffb7\055\uffb7\056\uffb7" +
-    "\057\uffb7\060\uffb7\061\uffb7\062\uffb7\063\uffb7\064\uffb7\065" +
-    "\uffb7\066\uffb7\067\uffb7\071\uffb7\073\uffb7\074\uffb7\075\uffb7" +
-    "\100\uffb7\101\uffb7\102\uffb7\107\uffb7\110\uffb7\111\uffb7\001" +
-    "\002\000\134\002\uff0d\004\uff0d\005\uff0d\006\uff0d\007\uff0d" +
-    "\010\uff0d\011\uff0d\012\uff0d\013\uff0d\014\uff0d\015\uff0d\016" +
-    "\uff0d\017\uff0d\020\uff0d\021\uff0d\022\uff0d\023\uff0d\024\uff0d" +
-    "\025\uff0d\026\u0174\031\uff3e\032\uff0d\053\uff0d\054\uff0d\055" +
-    "\uff0d\056\uff0d\057\uff0d\060\uff0d\061\uff0d\062\uff0d\063\uff0d" +
-    "\064\uff0d\065\uff0d\066\uff0d\067\uff0d\071\uff0d\073\uff0d\074" +
-    "\uff0d\075\uff0d\100\uff0d\101\uff0d\102\uff0d\107\uff0d\110\uff0d" +
-    "\111\uff0d\001\002\000\146\012\107\036\232\037\240\040" +
-    "\u0124\041\241\042\237\043\236\044\250\045\226\046\246" +
-    "\047\244\050\225\051\242\052\243\061\111\062\077\063" +
-    "\067\064\102\065\125\066\072\067\050\070\155\071\023" +
-    "\073\133\074\154\075\135\076\203\077\142\100\113\101" +
-    "\171\102\175\103\205\104\201\105\204\106\052\107\114" +
-    "\110\173\111\143\112\132\113\126\114\024\115\016\116" +
-    "\047\117\124\120\141\121\056\122\051\123\055\124\153" +
-    "\131\123\001\002\000\116\002\uffd5\005\uffd5\007\uffd5\010" +
-    "\uffd5\011\uffd5\012\uffd5\013\uffd5\014\uffd5\015\uffd5\016\uffd5" +
-    "\017\uffd5\020\uffd5\021\uffd5\022\uffd5\023\uffd5\032\uffd5\053" +
-    "\uffd5\054\uffd5\055\uffd5\056\uffd5\057\uffd5\060\uffd5\061\uffd5" +
-    "\062\uffd5\063\uffd5\064\uffd5\065\uffd5\066\uffd5\067\uffd5\071" +
-    "\uffd5\073\u016e\075\uffd5\100\uffd5\101\uffd5\102\uffd5\107\uffd5" +
-    "\110\uffd5\111\uffd5\001\002\000\126\002\uff53\004\uff53\005" +
-    "\uff53\007\uff53\010\uff53\011\uff53\012\uff53\013\uff53\014\uff53" +
-    "\015\uff53\016\uff53\017\uff53\020\uff53\021\uff53\022\uff53\023" +
-    "\uff53\024\uff53\025\uff53\032\uff53\053\uff53\054\uff53\055\uff53" +
-    "\056\uff53\057\uff53\060\uff53\061\uff53\062\uff53\063\uff53\064" +
-    "\uff53\065\uff53\066\uff53\067\uff53\071\uff53\073\uff53\074\uff53" +
-    "\075\uff53\100\uff53\101\uff53\102\uff53\107\uff53\110\uff53\111" +
-    "\uff53\001\002\000\126\002\uff51\004\uff51\005\uff51\007\uff51" +
-    "\010\uff51\011\uff51\012\uff51\013\uff51\014\uff51\015\uff51\016" +
-    "\uff51\017\uff51\020\uff51\021\uff51\022\uff51\023\uff51\024\uff51" +
-    "\025\uff51\032\uff51\053\uff51\054\uff51\055\uff51\056\uff51\057" +
-    "\uff51\060\uff51\061\uff51\062\uff51\063\uff51\064\uff51\065\uff51" +
-    "\066\uff51\067\uff51\071\uff51\073\uff51\074\uff51\075\uff51\100" +
-    "\uff51\101\uff51\102\uff51\107\uff51\110\uff51\111\uff51\001\002" +
-    "\000\020\002\ufffc\005\ufffc\007\ufffc\032\ufffc\100\ufffc\101" +
-    "\ufffc\107\ufffc\001\002\000\006\002\001\032\216\001\002" +
-    "\000\134\002\uff15\004\uff15\005\uff15\006\uff15\007\uff15\010" +
-    "\uff15\011\uff15\012\uff15\013\uff15\014\uff15\015\uff15\016\uff15" +
-    "\017\uff15\020\uff15\021\uff15\022\uff15\023\uff15\024\uff15\025" +
-    "\uff15\026\u016d\031\uff47\032\uff15\053\uff15\054\uff15\055\uff15" +
-    "\056\uff15\057\uff15\060\uff15\061\uff15\062\uff15\063\uff15\064" +
-    "\uff15\065\uff15\066\uff15\067\uff15\071\uff15\073\uff15\074\uff15" +
-    "\075\uff15\100\uff15\101\uff15\102\uff15\107\uff15\110\uff15\111" +
-    "\uff15\001\002\000\134\002\uff11\004\uff11\005\uff11\006\uff11" +
-    "\007\uff11\010\uff11\011\uff11\012\uff11\013\uff11\014\uff11\015" +
-    "\uff11\016\uff11\017\uff11\020\uff11\021\uff11\022\uff11\023\uff11" +
-    "\024\uff11\025\uff11\026\u016c\031\uff42\032\uff11\053\uff11\054" +
-    "\uff11\055\uff11\056\uff11\057\uff11\060\uff11\061\uff11\062\uff11" +
-    "\063\uff11\064\uff11\065\uff11\066\uff11\067\uff11\071\uff11\073" +
-    "\uff11\074\uff11\075\uff11\100\uff11\101\uff11\102\uff11\107\uff11" +
-    "\110\uff11\111\uff11\001\002\000\004\031\uff4c\001\002\000" +
-    "\110\002\uffdc\005\uffdc\007\uffdc\010\uffdc\011\uffdc\012\uffdc" +
-    "\013\uffdc\014\uffdc\015\uffdc\016\uffdc\017\uffdc\020\uffdc\021" +
-    "\uffdc\022\uffdc\023\uffdc\032\uffdc\053\uffdc\054\uffdc\055\uffdc" +
-    "\056\uffdc\057\uffdc\060\uffdc\061\uffdc\062\uffdc\063\uffdc\064" +
-    "\uffdc\065\uffdc\066\uffdc\075\uffdc\100\uffdc\101\uffdc\102\uffdc" +
-    "\107\uffdc\110\uffdc\111\uffdc\001\002\000\104\002\uffe4\005" +
-    "\uffe4\007\uffe4\010\uffe4\011\uffe4\012\uffe4\013\u0107\014\uffe4" +
-    "\015\uffe4\016\uffe4\017\uffe4\020\uffe4\021\uffe4\022\uffe4\023" +
-    "\uffe4\032\uffe4\053\uffe4\054\uffe4\055\uffe4\056\uffe4\057\uffe4" +
-    "\060\uffe4\061\uffe4\062\uffe4\063\uffe4\064\u0106\075\uffe4\100" +
-    "\uffe4\101\uffe4\102\uffe4\107\uffe4\110\uffe4\111\uffe4\001\002" +
-    "\000\134\002\uff13\004\uff13\005\uff13\006\uff13\007\uff13\010" +
-    "\uff13\011\uff13\012\uff13\013\uff13\014\uff13\015\uff13\016\uff13" +
-    "\017\uff13\020\uff13\021\uff13\022\uff13\023\uff13\024\uff13\025" +
-    "\uff13\026\u016b\031\uff44\032\uff13\053\uff13\054\uff13\055\uff13" +
-    "\056\uff13\057\uff13\060\uff13\061\uff13\062\uff13\063\uff13\064" +
-    "\uff13\065\uff13\066\uff13\067\uff13\071\uff13\073\uff13\074\uff13" +
-    "\075\uff13\100\uff13\101\uff13\102\uff13\107\uff13\110\uff13\111" +
-    "\uff13\001\002\000\134\002\ufefb\004\ufefb\005\ufefb\006\ufefb" +
-    "\007\ufefb\010\ufefb\011\ufefb\012\ufefb\013\ufefb\014\ufefb\015" +
-    "\ufefb\016\ufefb\017\ufefb\020\ufefb\021\ufefb\022\ufefb\023\ufefb" +
-    "\024\ufefb\025\ufefb\031\uff2c\032\ufefb\033\u0167\053\ufefb\054" +
-    "\ufefb\055\ufefb\056\ufefb\057\ufefb\060\ufefb\061\ufefb\062\ufefb" +
-    "\063\ufefb\064\ufefb\065\ufefb\066\ufefb\067\ufefb\071\ufefb\073" +
-    "\ufefb\074\ufefb\075\ufefb\100\ufefb\101\ufefb\102\ufefb\107\ufefb" +
-    "\110\ufefb\111\ufefb\001\002\000\006\006\u0165\031\uff1b\001" +
-    "\002\000\136\002\uff06\004\uff06\005\uff06\006\uff06\007\uff06" +
-    "\010\uff06\011\uff06\012\uff06\013\uff06\014\uff06\015\uff06\016" +
-    "\uff06\017\uff06\020\uff06\021\uff06\022\uff06\023\uff06\024\uff06" +
-    "\025\uff06\031\uff37\032\uff06\035\uff06\053\uff06\054\uff06\055" +
-    "\uff06\056\uff06\057\uff06\060\uff06\061\uff06\062\uff06\063\uff06" +
-    "\064\uff06\065\uff06\066\uff06\067\uff06\071\uff06\073\uff06\074" +
-    "\uff06\075\uff06\077\uff06\100\uff06\101\uff06\102\uff06\107\uff06" +
-    "\110\uff06\111\uff06\001\002\000\006\006\u015a\031\uff22\001" +
-    "\002\000\136\002\ufefa\004\ufefa\005\ufefa\006\ufefa\007\ufefa" +
-    "\010\ufefa\011\ufefa\012\ufefa\013\ufefa\014\ufefa\015\ufefa\016" +
-    "\ufefa\017\ufefa\020\ufefa\021\ufefa\022\ufefa\023\ufefa\024\ufefa" +
-    "\025\ufefa\031\uff2a\032\ufefa\035\ufefa\053\ufefa\054\ufefa\055" +
-    "\ufefa\056\ufefa\057\ufefa\060\ufefa\061\ufefa\062\ufefa\063\ufefa" +
-    "\064\ufefa\065\ufefa\066\ufefa\067\ufefa\071\ufefa\073\ufefa\074" +
-    "\ufefa\075\ufefa\077\ufefa\100\ufefa\101\ufefa\102\ufefa\107\ufefa" +
-    "\110\ufefa\111\ufefa\001\002\000\126\002\uff92\004\uff92\005" +
-    "\uff92\007\uff92\010\uff92\011\uff92\012\uff92\013\uff92\014\uff92" +
-    "\015\uff92\016\uff92\017\uff92\020\uff92\021\uff92\022\uff92\023" +
-    "\uff92\024\uff92\025\uff92\032\uff92\053\uff92\054\uff92\055\uff92" +
-    "\056\uff92\057\uff92\060\uff92\061\uff92\062\uff92\063\uff92\064" +
-    "\uff92\065\uff92\066\uff92\067\uff92\071\uff92\073\uff92\074\uff92" +
-    "\075\uff92\100\uff92\101\uff92\102\uff92\107\uff92\110\uff92\111" +
-    "\uff92\001\002\000\126\002\uff97\004\uff97\005\uff97\007\uff97" +
-    "\010\uff97\011\uff97\012\uff97\013\uff97\014\uff97\015\uff97\016" +
-    "\uff97\017\uff97\020\uff97\021\uff97\022\uff97\023\uff97\024\uff97" +
-    "\025\uff97\032\uff97\053\uff97\054\uff97\055\uff97\056\uff97\057" +
-    "\uff97\060\uff97\061\uff97\062\uff97\063\uff97\064\uff97\065\uff97" +
-    "\066\uff97\067\uff97\071\uff97\073\uff97\074\uff97\075\uff97\100" +
-    "\uff97\101\uff97\102\uff97\107\uff97\110\uff97\111\uff97\001\002" +
-    "\000\006\006\u0154\031\uff1c\001\002\000\006\006\u0150\031" +
-    "\uff1d\001\002\000\114\002\uffd7\005\uffd7\007\uffd7\010\uffd7" +
-    "\011\uffd7\012\uffd7\013\uffd7\014\uffd7\015\uffd7\016\uffd7\017" +
-    "\uffd7\020\uffd7\021\uffd7\022\uffd7\023\uffd7\032\uffd7\053\uffd7" +
-    "\054\uffd7\055\uffd7\056\uffd7\057\uffd7\060\uffd7\061\uffd7\062" +
-    "\uffd7\063\uffd7\064\uffd7\065\uffd7\066\uffd7\067\uffd7\071\u013f" +
-    "\075\uffd7\100\uffd7\101\uffd7\102\uffd7\107\uffd7\110\uffd7\111" +
-    "\uffd7\001\002\000\126\002\uff9f\004\uff9f\005\uff9f\007\uff9f" +
-    "\010\uff9f\011\uff9f\012\uff9f\013\uff9f\014\uff9f\015\uff9f\016" +
-    "\uff9f\017\uff9f\020\uff9f\021\uff9f\022\uff9f\023\uff9f\024\uff9f" +
-    "\025\uff9f\032\uff9f\053\uff9f\054\uff9f\055\uff9f\056\uff9f\057" +
-    "\uff9f\060\uff9f\061\uff9f\062\uff9f\063\uff9f\064\uff9f\065\uff9f" +
-    "\066\uff9f\067\uff9f\071\uff9f\073\uff9f\074\uff9f\075\uff9f\100" +
-    "\uff9f\101\uff9f\102\uff9f\107\uff9f\110\uff9f\111\uff9f\001\002" +
-    "\000\134\002\uff0a\004\uff0a\005\uff0a\006\uff0a\007\uff0a\010" +
-    "\uff0a\011\uff0a\012\uff0a\013\uff0a\014\uff0a\015\uff0a\016\uff0a" +
-    "\017\uff0a\020\uff0a\021\uff0a\022\uff0a\023\uff0a\024\uff0a\025" +
-    "\uff0a\026\u013e\031\uff3b\032\uff0a\053\uff0a\054\uff0a\055\uff0a" +
-    "\056\uff0a\057\uff0a\060\uff0a\061\uff0a\062\uff0a\063\uff0a\064" +
-    "\uff0a\065\uff0a\066\uff0a\067\uff0a\071\uff0a\073\uff0a\074\uff0a" +
-    "\075\uff0a\100\uff0a\101\uff0a\102\uff0a\107\uff0a\110\uff0a\111" +
-    "\uff0a\001\002\000\024\002\uffef\005\uffef\007\uffef\032\uffef" +
-    "\100\uffef\101\uffef\107\uffef\110\uffef\111\uffef\001\002\000" +
-    "\062\002\uffed\005\uffed\007\uffed\014\u0131\015\u0132\016\u0133" +
-    "\017\u012f\020\u012d\021\u013a\022\u0137\023\u012c\032\uffed\053" +
-    "\u0136\054\u012b\055\u012a\056\u0130\057\u012e\060\u0135\075\u0129" +
-    "\100\uffed\101\uffed\107\uffed\110\uffed\111\uffed\001\002\000" +
-    "\126\002\uff9c\004\uff9c\005\uff9c\007\uff9c\010\uff9c\011\uff9c" +
-    "\012\uff9c\013\uff9c\014\uff9c\015\uff9c\016\uff9c\017\uff9c\020" +
-    "\uff9c\021\uff9c\022\uff9c\023\uff9c\024\uff9c\025\uff9c\032\uff9c" +
-    "\053\uff9c\054\uff9c\055\uff9c\056\uff9c\057\uff9c\060\uff9c\061" +
-    "\uff9c\062\uff9c\063\uff9c\064\uff9c\065\uff9c\066\uff9c\067\uff9c" +
-    "\071\uff9c\073\uff9c\074\uff9c\075\uff9c\100\uff9c\101\uff9c\102" +
-    "\uff9c\107\uff9c\110\uff9c\111\uff9c\001\002\000\020\002\ufffb" +
-    "\005\ufffb\007\ufffb\032\ufffb\100\ufffb\101\ufffb\107\ufffb\001" +
-    "\002\000\134\002\uff0b\004\uff0b\005\uff0b\006\uff0b\007\uff0b" +
-    "\010\uff0b\011\uff0b\012\uff0b\013\uff0b\014\uff0b\015\uff0b\016" +
-    "\uff0b\017\uff0b\020\uff0b\021\uff0b\022\uff0b\023\uff0b\024\uff0b" +
-    "\025\uff0b\026\u0128\031\uff3c\032\uff0b\053\uff0b\054\uff0b\055" +
-    "\uff0b\056\uff0b\057\uff0b\060\uff0b\061\uff0b\062\uff0b\063\uff0b" +
-    "\064\uff0b\065\uff0b\066\uff0b\067\uff0b\071\uff0b\073\uff0b\074" +
-    "\uff0b\075\uff0b\100\uff0b\101\uff0b\102\uff0b\107\uff0b\110\uff0b" +
-    "\111\uff0b\001\002\000\006\012\ufef4\031\uff19\001\002\000" +
-    "\146\012\107\036\232\037\240\040\u0124\041\241\042\237" +
-    "\043\236\044\250\045\226\046\246\047\244\050\225\051" +
-    "\242\052\243\061\111\062\077\063\067\064\102\065\125" +
-    "\066\072\067\050\070\155\071\023\073\133\074\154\075" +
-    "\135\076\203\077\142\100\113\101\171\102\175\103\205" +
-    "\104\201\105\204\106\052\107\114\110\173\111\143\112" +
-    "\132\113\126\114\024\115\016\116\047\117\124\120\141" +
-    "\121\056\122\051\123\055\124\153\131\123\001\002\000" +
-    "\146\012\233\036\232\037\240\040\252\041\241\042\237" +
-    "\043\236\044\250\045\226\046\246\047\244\050\225\051" +
-    "\242\052\243\061\111\062\077\063\067\064\102\065\125" +
-    "\066\072\067\050\070\155\071\023\073\133\074\154\075" +
-    "\135\076\203\077\142\100\113\101\171\102\175\103\205" +
-    "\104\201\105\204\106\052\107\114\110\173\111\143\112" +
-    "\132\113\126\114\253\115\247\116\251\117\227\120\234" +
-    "\121\230\122\245\123\235\124\153\131\123\001\002\000" +
-    "\136\002\uff07\004\uff07\005\uff07\006\uff07\007\uff07\010\uff07" +
-    "\011\uff07\012\uff07\013\uff07\014\uff07\015\uff07\016\uff07\017" +
-    "\uff07\020\uff07\021\uff07\022\uff07\023\uff07\024\uff07\025\uff07" +
-    "\031\uff38\032\uff07\035\uff07\053\uff07\054\uff07\055\uff07\056" +
-    "\uff07\057\uff07\060\uff07\061\uff07\062\uff07\063\uff07\064\uff07" +
-    "\065\uff07\066\uff07\067\uff07\071\uff07\073\uff07\074\uff07\075" +
-    "\uff07\077\uff07\100\uff07\101\uff07\102\uff07\107\uff07\110\uff07" +
-    "\111\uff07\001\002\000\124\002\uffb6\005\uffb6\007\uffb6\010" +
-    "\uffb6\011\uffb6\012\uffb6\013\uffb6\014\uffb6\015\uffb6\016\uffb6" +
-    "\017\uffb6\020\uffb6\021\uffb6\022\uffb6\023\uffb6\024\uffb6\025" +
-    "\uffb6\032\uffb6\053\uffb6\054\uffb6\055\uffb6\056\uffb6\057\uffb6" +
-    "\060\uffb6\061\uffb6\062\uffb6\063\uffb6\064\uffb6\065\uffb6\066" +
-    "\uffb6\067\uffb6\071\uffb6\073\uffb6\074\uffb6\075\uffb6\100\uffb6" +
-    "\101\uffb6\102\uffb6\107\uffb6\110\uffb6\111\uffb6\001\002\000" +
-    "\130\002\uff72\004\uff72\005\uff72\007\uff72\010\uff72\011\uff72" +
-    "\012\uff72\013\uff72\014\uff72\015\uff72\016\uff72\017\uff72\020" +
-    "\uff72\021\uff72\022\uff72\023\uff72\024\uff72\025\uff72\032\uff72" +
-    "\035\uff72\053\uff72\054\uff72\055\uff72\056\uff72\057\uff72\060" +
-    "\uff72\061\uff72\062\uff72\063\uff72\064\uff72\065\uff72\066\uff72" +
-    "\067\uff72\071\uff72\073\uff72\074\uff72\075\uff72\100\uff72\101" +
-    "\uff72\102\uff72\107\uff72\110\uff72\111\uff72\001\002\000\012" +
-    "\002\uffff\005\uffff\007\uffff\032\uffff\001\002\000\200\006" +
-    "\101\010\076\011\134\012\107\024\022\025\006\027\070" +
-    "\030\117\033\071\034\120\036\040\037\156\040\145\041" +
-    "\045\042\004\043\041\044\010\045\020\046\012\047\031" +
-    "\050\110\051\066\052\061\061\111\062\077\063\067\064" +
-    "\102\065\125\066\072\067\050\070\155\071\023\073\133" +
-    "\074\154\075\135\076\203\077\142\100\113\101\171\102" +
-    "\175\103\205\104\201\105\204\106\052\107\114\110\173" +
-    "\111\143\112\132\113\126\114\024\115\016\116\047\117" +
-    "\124\120\141\121\056\122\051\123\055\124\153\125\034" +
-    "\126\035\127\104\130\167\131\123\001\002\000\136\002" +
-    "\ufef5\004\ufef5\005\ufef5\006\ufef5\007\ufef5\010\ufef5\011\ufef5" +
-    "\012\ufef5\013\ufef5\014\ufef5\015\ufef5\016\ufef5\017\ufef5\020" +
-    "\ufef5\021\ufef5\022\ufef5\023\ufef5\024\ufef5\025\ufef5\031\uff25" +
-    "\032\ufef5\035\ufef5\053\ufef5\054\ufef5\055\ufef5\056\ufef5\057" +
-    "\ufef5\060\ufef5\061\ufef5\062\ufef5\063\ufef5\064\ufef5\065\ufef5" +
-    "\066\ufef5\067\ufef5\071\ufef5\073\ufef5\074\ufef5\075\ufef5\077" +
-    "\ufef5\100\ufef5\101\ufef5\102\ufef5\107\ufef5\110\ufef5\111\ufef5" +
-    "\001\002\000\126\002\uff97\004\uff97\005\uff97\007\uff97\010" +
-    "\uff97\011\uff97\012\uff97\013\uff97\014\uff97\015\uff97\016\uff97" +
-    "\017\uff97\020\uff97\021\uff97\022\uff97\023\uff97\024\uff97\025" +
-    "\uff97\032\uff97\053\uff97\054\uff97\055\uff97\056\uff97\057\uff97" +
-    "\060\uff97\061\uff97\062\uff97\063\uff97\064\uff97\065\uff97\066" +
-    "\uff97\067\uff97\071\uff97\073\uff97\074\uff97\075\uff97\100\uff97" +
-    "\101\uff97\102\uff97\107\uff97\110\uff97\111\uff97\001\002\000" +
-    "\202\006\101\007\u011e\010\076\011\134\012\107\024\022" +
-    "\025\006\027\070\030\117\033\071\034\120\036\040\037" +
-    "\156\040\145\041\045\042\004\043\041\044\010\045\020" +
-    "\046\012\047\031\050\110\051\066\052\061\061\111\062" +
-    "\077\063\067\064\102\065\125\066\072\067\050\070\155" +
-    "\071\023\073\133\074\154\075\135\076\106\077\142\100" +
-    "\113\101\171\102\175\103\157\104\046\105\147\106\052" +
-    "\107\114\110\173\111\143\112\132\113\126\114\024\115" +
-    "\016\116\047\117\124\120\141\121\056\122\051\123\055" +
-    "\124\153\125\034\126\035\127\104\130\167\131\123\001" +
-    "\002\000\136\002\uff09\004\uff09\005\uff09\006\uff09\007\uff09" +
-    "\010\uff09\011\uff09\012\uff09\013\uff09\014\uff09\015\uff09\016" +
-    "\uff09\017\uff09\020\uff09\021\uff09\022\uff09\023\uff09\024\uff09" +
-    "\025\uff09\031\uff3a\032\uff09\035\uff09\053\uff09\054\uff09\055" +
-    "\uff09\056\uff09\057\uff09\060\uff09\061\uff09\062\uff09\063\uff09" +
-    "\064\uff09\065\uff09\066\uff09\067\uff09\071\uff09\073\uff09\074" +
-    "\uff09\075\uff09\077\uff09\100\uff09\101\uff09\102\uff09\107\uff09" +
-    "\110\uff09\111\uff09\001\002\000\130\002\uff9d\004\uff9d\005" +
-    "\uff9d\006\u0116\007\uff9d\010\uff9d\011\uff9d\012\uff9d\013\uff9d" +
-    "\014\uff9d\015\uff9d\016\uff9d\017\uff9d\020\uff9d\021\uff9d\022" +
-    "\uff9d\023\uff9d\024\uff9d\025\uff9d\032\uff9d\053\uff9d\054\uff9d" +
-    "\055\uff9d\056\uff9d\057\uff9d\060\uff9d\061\uff9d\062\uff9d\063" +
-    "\uff9d\064\uff9d\065\uff9d\066\uff9d\067\uff9d\071\uff9d\073\uff9d" +
-    "\074\uff9d\075\uff9d\100\uff9d\101\uff9d\102\uff9d\107\uff9d\110" +
-    "\uff9d\111\uff9d\001\002\000\126\002\uff52\004\uff52\005\uff52" +
-    "\007\uff52\010\uff52\011\uff52\012\uff52\013\uff52\014\uff52\015" +
-    "\uff52\016\uff52\017\uff52\020\uff52\021\uff52\022\uff52\023\uff52" +
-    "\024\uff52\025\uff52\032\uff52\053\uff52\054\uff52\055\uff52\056" +
-    "\uff52\057\uff52\060\uff52\061\uff52\062\uff52\063\uff52\064\uff52" +
-    "\065\uff52\066\uff52\067\uff52\071\uff52\073\uff52\074\uff52\075" +
-    "\uff52\100\uff52\101\uff52\102\uff52\107\uff52\110\uff52\111\uff52" +
-    "\001\002\000\130\002\uff76\004\uff76\005\uff76\007\uff76\010" +
-    "\uff76\011\uff76\012\uff76\013\uff76\014\uff76\015\uff76\016\uff76" +
-    "\017\uff76\020\uff76\021\uff76\022\uff76\023\uff76\024\uff76\025" +
-    "\uff76\032\uff76\035\uff76\053\uff76\054\uff76\055\uff76\056\uff76" +
-    "\057\uff76\060\uff76\061\uff76\062\uff76\063\uff76\064\uff76\065" +
-    "\uff76\066\uff76\067\uff76\071\uff76\073\uff76\074\uff76\075\uff76" +
-    "\100\uff76\101\uff76\102\uff76\107\uff76\110\uff76\111\uff76\001" +
-    "\002\000\134\002\uff00\004\uff00\005\uff00\006\uff00\007\uff00" +
-    "\010\uff00\011\uff00\012\uff00\013\uff00\014\uff00\015\uff00\016" +
-    "\uff00\017\uff00\020\uff00\021\uff00\022\uff00\023\uff00\024\uff00" +
-    "\025\uff00\031\uff31\032\uff00\033\u0112\053\uff00\054\uff00\055" +
-    "\uff00\056\uff00\057\uff00\060\uff00\061\uff00\062\uff00\063\uff00" +
-    "\064\uff00\065\uff00\066\uff00\067\uff00\071\uff00\073\uff00\074" +
-    "\uff00\075\uff00\100\uff00\101\uff00\102\uff00\107\uff00\110\uff00" +
-    "\111\uff00\001\002\000\130\002\uff9b\004\uff9b\005\uff9b\007" +
-    "\uff9b\010\uff9b\011\uff9b\012\uff9b\013\uff9b\014\uff9b\015\uff9b" +
-    "\016\uff9b\017\uff9b\020\uff9b\021\uff9b\022\uff9b\023\uff9b\024" +
-    "\uff9b\025\uff9b\031\u0110\032\uff9b\053\uff9b\054\uff9b\055\uff9b" +
-    "\056\uff9b\057\uff9b\060\uff9b\061\uff9b\062\uff9b\063\uff9b\064" +
-    "\uff9b\065\uff9b\066\uff9b\067\uff9b\071\uff9b\073\uff9b\074\uff9b" +
-    "\075\uff9b\100\uff9b\101\uff9b\102\uff9b\107\uff9b\110\uff9b\111" +
-    "\uff9b\001\002\000\134\002\uff0c\004\uff0c\005\uff0c\006\uff0c" +
-    "\007\uff0c\010\uff0c\011\uff0c\012\uff0c\013\uff0c\014\uff0c\015" +
-    "\uff0c\016\uff0c\017\uff0c\020\uff0c\021\uff0c\022\uff0c\023\uff0c" +
-    "\024\uff0c\025\uff0c\026\u010f\031\uff3d\032\uff0c\053\uff0c\054" +
-    "\uff0c\055\uff0c\056\uff0c\057\uff0c\060\uff0c\061\uff0c\062\uff0c" +
-    "\063\uff0c\064\uff0c\065\uff0c\066\uff0c\067\uff0c\071\uff0c\073" +
-    "\uff0c\074\uff0c\075\uff0c\100\uff0c\101\uff0c\102\uff0c\107\uff0c" +
-    "\110\uff0c\111\uff0c\001\002\000\136\002\ufef6\004\ufef6\005" +
-    "\ufef6\006\ufef6\007\ufef6\010\ufef6\011\ufef6\012\ufef6\013\ufef6" +
-    "\014\ufef6\015\ufef6\016\ufef6\017\ufef6\020\ufef6\021\ufef6\022" +
-    "\ufef6\023\ufef6\024\ufef6\025\ufef6\031\uff26\032\ufef6\035\ufef6" +
-    "\053\ufef6\054\ufef6\055\ufef6\056\ufef6\057\ufef6\060\ufef6\061" +
-    "\ufef6\062\ufef6\063\ufef6\064\ufef6\065\ufef6\066\ufef6\067\ufef6" +
-    "\071\ufef6\073\ufef6\074\ufef6\075\ufef6\077\ufef6\100\ufef6\101" +
-    "\ufef6\102\ufef6\107\ufef6\110\ufef6\111\ufef6\001\002\000\134" +
-    "\002\uff4a\004\uff4a\005\uff4a\006\uff4a\007\uff4a\010\uff4a\011" +
-    "\uff4a\012\uff4a\013\uff4a\014\uff4a\015\uff4a\016\uff4a\017\uff4a" +
-    "\020\uff4a\021\uff4a\022\uff4a\023\uff4a\024\uff4a\025\uff4a\032" +
-    "\uff4a\035\uff4a\053\uff4a\054\uff4a\055\uff4a\056\uff4a\057\uff4a" +
-    "\060\uff4a\061\uff4a\062\uff4a\063\uff4a\064\uff4a\065\uff4a\066" +
-    "\uff4a\067\uff4a\071\uff4a\073\uff4a\074\uff4a\075\uff4a\077\uff4a" +
-    "\100\uff4a\101\uff4a\102\uff4a\107\uff4a\110\uff4a\111\uff4a\001" +
-    "\002\000\136\002\ufefe\004\ufefe\005\ufefe\006\ufefe\007\ufefe" +
-    "\010\ufefe\011\ufefe\012\ufefe\013\ufefe\014\ufefe\015\ufefe\016" +
-    "\ufefe\017\ufefe\020\ufefe\021\ufefe\022\ufefe\023\ufefe\024\ufefe" +
-    "\025\ufefe\031\uff2f\032\ufefe\035\ufefe\053\ufefe\054\ufefe\055" +
-    "\ufefe\056\ufefe\057\ufefe\060\ufefe\061\ufefe\062\ufefe\063\ufefe" +
-    "\064\ufefe\065\ufefe\066\ufefe\067\ufefe\071\ufefe\073\ufefe\074" +
-    "\ufefe\075\ufefe\077\ufefe\100\ufefe\101\ufefe\102\ufefe\107\ufefe" +
-    "\110\ufefe\111\ufefe\001\002\000\136\002\ufef9\004\ufef9\005" +
-    "\ufef9\006\ufef9\007\ufef9\010\ufef9\011\ufef9\012\ufef9\013\ufef9" +
-    "\014\ufef9\015\ufef9\016\ufef9\017\ufef9\020\ufef9\021\ufef9\022" +
-    "\ufef9\023\ufef9\024\ufef9\025\ufef9\031\uff29\032\ufef9\035\ufef9" +
-    "\053\ufef9\054\ufef9\055\ufef9\056\ufef9\057\ufef9\060\ufef9\061" +
-    "\ufef9\062\ufef9\063\ufef9\064\ufef9\065\ufef9\066\ufef9\067\ufef9" +
-    "\071\ufef9\073\ufef9\074\ufef9\075\ufef9\077\ufef9\100\ufef9\101" +
-    "\ufef9\102\ufef9\107\ufef9\110\ufef9\111\ufef9\001\002\000\126" +
-    "\002\uff94\004\uff94\005\uff94\007\uff94\010\uff94\011\uff94\012" +
-    "\uff94\013\uff94\014\uff94\015\uff94\016\uff94\017\uff94\020\uff94" +
-    "\021\uff94\022\uff94\023\uff94\024\uff94\025\uff94\032\uff94\053" +
-    "\uff94\054\uff94\055\uff94\056\uff94\057\uff94\060\uff94\061\uff94" +
-    "\062\uff94\063\uff94\064\uff94\065\uff94\066\uff94\067\uff94\071" +
-    "\uff94\073\uff94\074\uff94\075\uff94\100\uff94\101\uff94\102\uff94" +
-    "\107\uff94\110\uff94\111\uff94\001\002\000\020\002\ufffd\005" +
-    "\ufffd\007\ufffd\032\ufffd\100\ufffd\101\ufffd\107\ufffd\001\002" +
-    "\000\126\002\uffa0\004\uffa0\005\uffa0\007\uffa0\010\uffa0\011" +
-    "\uffa0\012\uffa0\013\uffa0\014\uffa0\015\uffa0\016\uffa0\017\uffa0" +
-    "\020\uffa0\021\uffa0\022\uffa0\023\uffa0\024\uffa0\025\uffa0\032" +
-    "\uffa0\053\uffa0\054\uffa0\055\uffa0\056\uffa0\057\uffa0\060\uffa0" +
-    "\061\uffa0\062\uffa0\063\uffa0\064\uffa0\065\uffa0\066\uffa0\067" +
-    "\uffa0\071\uffa0\073\uffa0\074\uffa0\075\uffa0\100\uffa0\101\uffa0" +
-    "\102\uffa0\107\uffa0\110\uffa0\111\uffa0\001\002\000\126\002" +
-    "\uff88\004\uff88\005\uff88\007\uff88\010\uff88\011\uff88\012\uff88" +
-    "\013\uff88\014\uff88\015\uff88\016\uff88\017\uff88\020\uff88\021" +
-    "\uff88\022\uff88\023\uff88\024\uff88\025\uff88\032\uff88\053\uff88" +
-    "\054\uff88\055\uff88\056\uff88\057\uff88\060\uff88\061\uff88\062" +
-    "\uff88\063\uff88\064\uff88\065\uff88\066\uff88\067\uff88\071\uff88" +
-    "\073\uff88\074\uff88\075\uff88\100\uff88\101\uff88\102\uff88\107" +
-    "\uff88\110\uff88\111\uff88\001\002\000\130\002\uff74\004\uff74" +
-    "\005\uff74\007\uff74\010\uff74\011\uff74\012\uff74\013\uff74\014" +
-    "\uff74\015\uff74\016\uff74\017\uff74\020\uff74\021\uff74\022\uff74" +
-    "\023\uff74\024\uff74\025\uff74\032\uff74\035\uff74\053\uff74\054" +
-    "\uff74\055\uff74\056\uff74\057\uff74\060\uff74\061\uff74\062\uff74" +
-    "\063\uff74\064\uff74\065\uff74\066\uff74\067\uff74\071\uff74\073" +
-    "\uff74\074\uff74\075\uff74\100\uff74\101\uff74\102\uff74\107\uff74" +
-    "\110\uff74\111\uff74\001\002\000\130\002\uff75\004\uff75\005" +
-    "\uff75\007\uff75\010\uff75\011\uff75\012\uff75\013\uff75\014\uff75" +
-    "\015\uff75\016\uff75\017\uff75\020\uff75\021\uff75\022\uff75\023" +
-    "\uff75\024\uff75\025\uff75\032\uff75\035\uff75\053\uff75\054\uff75" +
-    "\055\uff75\056\uff75\057\uff75\060\uff75\061\uff75\062\uff75\063" +
-    "\uff75\064\uff75\065\uff75\066\uff75\067\uff75\071\uff75\073\uff75" +
-    "\074\uff75\075\uff75\100\uff75\101\uff75\102\uff75\107\uff75\110" +
-    "\uff75\111\uff75\001\002\000\136\002\uff17\004\uff17\005\uff17" +
-    "\006\uff17\007\uff17\010\uff17\011\uff17\012\uff17\013\uff17\014" +
-    "\uff17\015\uff17\016\uff17\017\uff17\020\uff17\021\uff17\022\uff17" +
-    "\023\uff17\024\uff17\025\uff17\031\uff49\032\uff17\035\uff17\053" +
-    "\uff17\054\uff17\055\uff17\056\uff17\057\uff17\060\uff17\061\uff17" +
-    "\062\uff17\063\uff17\064\uff17\065\uff17\066\uff17\067\uff17\071" +
-    "\uff17\073\uff17\074\uff17\075\uff17\077\uff17\100\uff17\101\uff17" +
-    "\102\uff17\107\uff17\110\uff17\111\uff17\001\002\000\006\006" +
-    "\u010d\031\uff24\001\002\000\136\002\uff08\004\uff08\005\uff08" +
-    "\006\uff08\007\uff08\010\uff08\011\uff08\012\uff08\013\uff08\014" +
-    "\uff08\015\uff08\016\uff08\017\uff08\020\uff08\021\uff08\022\uff08" +
-    "\023\uff08\024\uff08\025\uff08\031\uff39\032\uff08\035\uff08\053" +
-    "\uff08\054\uff08\055\uff08\056\uff08\057\uff08\060\uff08\061\uff08" +
-    "\062\uff08\063\uff08\064\uff08\065\uff08\066\uff08\067\uff08\071" +
-    "\uff08\073\uff08\074\uff08\075\uff08\077\uff08\100\uff08\101\uff08" +
-    "\102\uff08\107\uff08\110\uff08\111\uff08\001\002\000\136\002" +
-    "\uff20\004\uff20\005\uff20\006\uff20\007\uff20\010\uff20\011\uff20" +
-    "\012\uff20\013\uff20\014\uff20\015\uff20\016\uff20\017\uff20\020" +
-    "\uff20\021\uff20\022\uff20\023\uff20\024\uff20\025\uff20\031\uff20" +
-    "\032\uff20\035\uff20\053\uff20\054\uff20\055\uff20\056\uff20\057" +
-    "\uff20\060\uff20\061\uff20\062\uff20\063\uff20\064\uff20\065\uff20" +
-    "\066\uff20\067\uff20\071\uff20\073\uff20\074\uff20\075\uff20\077" +
-    "\uff20\100\uff20\101\uff20\102\uff20\107\uff20\110\uff20\111\uff20" +
-    "\001\002\000\100\002\uffe7\005\uffe7\007\uffe7\010\uffe7\011" +
-    "\uffe7\012\u0101\014\uffe7\015\uffe7\016\uffe7\017\uffe7\020\uffe7" +
-    "\021\uffe7\022\uffe7\023\uffe7\032\uffe7\053\uffe7\054\uffe7\055" +
-    "\uffe7\056\uffe7\057\uffe7\060\uffe7\061\u0103\062\u0104\063\u0102" +
-    "\075\uffe7\100\uffe7\101\uffe7\102\uffe7\107\uffe7\110\uffe7\111" +
-    "\uffe7\001\002\000\124\002\uffbb\005\uffbb\007\uffbb\010\uffbb" +
-    "\011\uffbb\012\uffbb\013\uffbb\014\uffbb\015\uffbb\016\uffbb\017" +
-    "\uffbb\020\uffbb\021\uffbb\022\uffbb\023\uffbb\024\375\025\376" +
-    "\032\uffbb\053\uffbb\054\uffbb\055\uffbb\056\uffbb\057\uffbb\060" +
-    "\uffbb\061\uffbb\062\uffbb\063\uffbb\064\uffbb\065\uffbb\066\uffbb" +
-    "\067\uffbb\071\uffbb\073\uffbb\074\uffbb\075\uffbb\100\uffbb\101" +
-    "\uffbb\102\uffbb\107\uffbb\110\uffbb\111\uffbb\001\002\000\130" +
-    "\002\uff73\004\uff73\005\uff73\007\uff73\010\uff73\011\uff73\012" +
-    "\uff73\013\uff73\014\uff73\015\uff73\016\uff73\017\uff73\020\uff73" +
-    "\021\uff73\022\uff73\023\uff73\024\uff73\025\uff73\032\uff73\035" +
-    "\uff73\053\uff73\054\uff73\055\uff73\056\uff73\057\uff73\060\uff73" +
-    "\061\uff73\062\uff73\063\uff73\064\uff73\065\uff73\066\uff73\067" +
-    "\uff73\071\uff73\073\uff73\074\uff73\075\uff73\100\uff73\101\uff73" +
-    "\102\uff73\107\uff73\110\uff73\111\uff73\001\002\000\136\002" +
-    "\uff21\004\uff21\005\uff21\006\uff21\007\uff21\010\uff21\011\uff21" +
-    "\012\uff21\013\uff21\014\uff21\015\uff21\016\uff21\017\uff21\020" +
-    "\uff21\021\uff21\022\uff21\023\uff21\024\uff21\025\uff21\031\uff21" +
-    "\032\uff21\035\uff21\053\uff21\054\uff21\055\uff21\056\uff21\057" +
-    "\uff21\060\uff21\061\uff21\062\uff21\063\uff21\064\uff21\065\uff21" +
-    "\066\uff21\067\uff21\071\uff21\073\uff21\074\uff21\075\uff21\077" +
-    "\uff21\100\uff21\101\uff21\102\uff21\107\uff21\110\uff21\111\uff21" +
-    "\001\002\000\136\002\uff03\004\uff03\005\uff03\006\uff03\007" +
-    "\uff03\010\uff03\011\uff03\012\uff03\013\uff03\014\uff03\015\uff03" +
-    "\016\uff03\017\uff03\020\uff03\021\uff03\022\uff03\023\uff03\024" +
-    "\uff03\025\uff03\031\uff34\032\uff03\035\uff03\053\uff03\054\uff03" +
-    "\055\uff03\056\uff03\057\uff03\060\uff03\061\uff03\062\uff03\063" +
-    "\uff03\064\uff03\065\uff03\066\uff03\067\uff03\071\uff03\073\uff03" +
-    "\074\uff03\075\uff03\077\uff03\100\uff03\101\uff03\102\uff03\107" +
-    "\uff03\110\uff03\111\uff03\001\002\000\200\006\101\010\076" +
-    "\011\134\012\107\024\022\025\006\027\070\030\117\033" +
-    "\071\034\120\036\040\037\156\040\145\041\045\042\004" +
-    "\043\041\044\010\045\020\046\012\047\031\050\110\051" +
-    "\066\052\061\061\111\062\077\063\067\064\102\065\125" +
-    "\066\072\067\050\070\155\071\023\073\133\074\154\075" +
-    "\135\076\203\077\142\100\113\101\171\102\175\103\205" +
-    "\104\201\105\204\106\052\107\114\110\173\111\143\112" +
-    "\132\113\126\114\024\115\016\116\047\117\124\120\141" +
-    "\121\056\122\051\123\055\124\153\125\034\126\035\127" +
-    "\104\130\167\131\123\001\002\000\136\002\uff01\004\uff01" +
-    "\005\uff01\006\uff01\007\uff01\010\uff01\011\uff01\012\uff01\013" +
-    "\uff01\014\uff01\015\uff01\016\uff01\017\uff01\020\uff01\021\uff01" +
-    "\022\uff01\023\uff01\024\uff01\025\uff01\031\uff32\032\uff01\035" +
-    "\uff01\053\uff01\054\uff01\055\uff01\056\uff01\057\uff01\060\uff01" +
-    "\061\uff01\062\uff01\063\uff01\064\uff01\065\uff01\066\uff01\067" +
-    "\uff01\071\uff01\073\uff01\074\uff01\075\uff01\077\uff01\100\uff01" +
-    "\101\uff01\102\uff01\107\uff01\110\uff01\111\uff01\001\002\000" +
-    "\126\002\uff93\004\uff93\005\uff93\007\uff93\010\uff93\011\uff93" +
-    "\012\uff93\013\uff93\014\uff93\015\uff93\016\uff93\017\uff93\020" +
-    "\uff93\021\uff93\022\uff93\023\uff93\024\uff93\025\uff93\032\uff93" +
-    "\053\uff93\054\uff93\055\uff93\056\uff93\057\uff93\060\uff93\061" +
-    "\uff93\062\uff93\063\uff93\064\uff93\065\uff93\066\uff93\067\uff93" +
-    "\071\uff93\073\uff93\074\uff93\075\uff93\100\uff93\101\uff93\102" +
-    "\uff93\107\uff93\110\uff93\111\uff93\001\002\000\126\002\uffa6" +
-    "\004\uffa6\005\uffa6\007\uffa6\010\uffa6\011\uffa6\012\uffa6\013" +
-    "\uffa6\014\uffa6\015\uffa6\016\uffa6\017\uffa6\020\uffa6\021\uffa6" +
-    "\022\uffa6\023\uffa6\024\uffa6\025\uffa6\032\uffa6\053\uffa6\054" +
-    "\uffa6\055\uffa6\056\uffa6\057\uffa6\060\uffa6\061\uffa6\062\uffa6" +
-    "\063\uffa6\064\uffa6\065\uffa6\066\uffa6\067\uffa6\071\uffa6\073" +
-    "\uffa6\074\uffa6\075\uffa6\100\uffa6\101\uffa6\102\uffa6\107\uffa6" +
-    "\110\uffa6\111\uffa6\001\002\000\004\031\371\001\002\000" +
-    "\006\006\317\031\uff1e\001\002\000\136\002\ufeff\004\ufeff" +
-    "\005\ufeff\006\ufeff\007\ufeff\010\ufeff\011\ufeff\012\ufeff\013" +
-    "\ufeff\014\ufeff\015\ufeff\016\ufeff\017\ufeff\020\ufeff\021\ufeff" +
-    "\022\ufeff\023\ufeff\024\ufeff\025\ufeff\031\uff30\032\ufeff\035" +
-    "\ufeff\053\ufeff\054\ufeff\055\ufeff\056\ufeff\057\ufeff\060\ufeff" +
-    "\061\ufeff\062\ufeff\063\ufeff\064\ufeff\065\ufeff\066\ufeff\067" +
-    "\ufeff\071\ufeff\073\ufeff\074\ufeff\075\ufeff\077\ufeff\100\ufeff" +
-    "\101\ufeff\102\ufeff\107\ufeff\110\ufeff\111\ufeff\001\002\000" +
-    "\136\002\ufef7\004\ufef7\005\ufef7\006\ufef7\007\ufef7\010\ufef7" +
-    "\011\ufef7\012\ufef7\013\ufef7\014\ufef7\015\ufef7\016\ufef7\017" +
-    "\ufef7\020\ufef7\021\ufef7\022\ufef7\023\ufef7\024\ufef7\025\ufef7" +
-    "\031\uff27\032\ufef7\035\ufef7\053\ufef7\054\ufef7\055\ufef7\056" +
-    "\ufef7\057\ufef7\060\ufef7\061\ufef7\062\ufef7\063\ufef7\064\ufef7" +
-    "\065\ufef7\066\ufef7\067\ufef7\071\ufef7\073\ufef7\074\ufef7\075" +
-    "\ufef7\077\ufef7\100\ufef7\101\ufef7\102\ufef7\107\ufef7\110\ufef7" +
-    "\111\ufef7\001\002\000\126\002\uff95\004\uff95\005\uff95\007" +
-    "\uff95\010\uff95\011\uff95\012\uff95\013\uff95\014\uff95\015\uff95" +
-    "\016\uff95\017\uff95\020\uff95\021\uff95\022\uff95\023\uff95\024" +
-    "\uff95\025\uff95\032\uff95\053\uff95\054\uff95\055\uff95\056\uff95" +
-    "\057\uff95\060\uff95\061\uff95\062\uff95\063\uff95\064\uff95\065" +
-    "\uff95\066\uff95\067\uff95\071\uff95\073\uff95\074\uff95\075\uff95" +
-    "\100\uff95\101\uff95\102\uff95\107\uff95\110\uff95\111\uff95\001" +
-    "\002\000\010\006\304\026\303\031\uff45\001\002\000\120" +
-    "\002\uffd1\005\uffd1\007\uffd1\010\uffd1\011\uffd1\012\uffd1\013" +
-    "\uffd1\014\uffd1\015\uffd1\016\uffd1\017\uffd1\020\uffd1\021\uffd1" +
-    "\022\uffd1\023\uffd1\032\uffd1\053\uffd1\054\uffd1\055\uffd1\056" +
-    "\uffd1\057\uffd1\060\uffd1\061\uffd1\062\uffd1\063\uffd1\064\uffd1" +
-    "\065\uffd1\066\uffd1\067\uffd1\071\uffd1\073\uffd1\074\uffd1\075" +
-    "\uffd1\100\uffd1\101\uffd1\102\uffd1\107\uffd1\110\uffd1\111\uffd1" +
-    "\001\002\000\006\006\274\031\uff2b\001\002\000\120\002" +
-    "\uffce\005\uffce\007\uffce\010\uffce\011\uffce\012\uffce\013\uffce" +
-    "\014\uffce\015\uffce\016\uffce\017\uffce\020\uffce\021\uffce\022" +
-    "\uffce\023\uffce\032\uffce\053\uffce\054\uffce\055\uffce\056\uffce" +
-    "\057\uffce\060\uffce\061\uffce\062\uffce\063\uffce\064\uffce\065" +
-    "\uffce\066\uffce\067\uffce\071\uffce\073\uffce\074\uffce\075\uffce" +
-    "\100\uffce\101\uffce\102\uffce\107\uffce\110\uffce\111\uffce\001" +
-    "\002\000\134\002\uff4e\004\uff4e\005\uff4e\006\uff4e\007\uff4e" +
-    "\010\uff4e\011\uff4e\012\uff4e\013\uff4e\014\uff4e\015\uff4e\016" +
-    "\uff4e\017\uff4e\020\uff4e\021\uff4e\022\uff4e\023\uff4e\024\uff4e" +
-    "\025\uff4e\032\uff4e\035\uff4e\053\uff4e\054\uff4e\055\uff4e\056" +
-    "\uff4e\057\uff4e\060\uff4e\061\uff4e\062\uff4e\063\uff4e\064\uff4e" +
-    "\065\uff4e\066\uff4e\067\uff4e\071\uff4e\073\uff4e\074\uff4e\075" +
-    "\uff4e\077\uff4e\100\uff4e\101\uff4e\102\uff4e\107\uff4e\110\uff4e" +
-    "\111\uff4e\001\002\000\130\002\uff70\004\uff70\005\uff70\007" +
-    "\uff70\010\uff70\011\uff70\012\uff70\013\uff70\014\uff70\015\uff70" +
-    "\016\uff70\017\uff70\020\uff70\021\uff70\022\uff70\023\uff70\024" +
-    "\uff70\025\uff70\032\uff70\035\uff70\053\uff70\054\uff70\055\uff70" +
-    "\056\uff70\057\uff70\060\uff70\061\uff70\062\uff70\063\uff70\064" +
-    "\uff70\065\uff70\066\uff70\067\uff70\071\uff70\073\uff70\074\uff70" +
-    "\075\uff70\100\uff70\101\uff70\102\uff70\107\uff70\110\uff70\111" +
-    "\uff70\001\002\000\136\002\uff1a\004\uff1a\005\uff1a\006\uff1a" +
-    "\007\uff1a\010\uff1a\011\uff1a\012\uff1a\013\uff1a\014\uff1a\015" +
-    "\uff1a\016\uff1a\017\uff1a\020\uff1a\021\uff1a\022\uff1a\023\uff1a" +
-    "\024\uff1a\025\uff1a\031\uff1a\032\uff1a\035\uff1a\053\uff1a\054" +
-    "\uff1a\055\uff1a\056\uff1a\057\uff1a\060\uff1a\061\uff1a\062\uff1a" +
-    "\063\uff1a\064\uff1a\065\uff1a\066\uff1a\067\uff1a\071\uff1a\073" +
-    "\uff1a\074\uff1a\075\uff1a\077\uff1a\100\uff1a\101\uff1a\102\uff1a" +
-    "\107\uff1a\110\uff1a\111\uff1a\001\002\000\136\002\uff02\004" +
-    "\uff02\005\uff02\006\uff02\007\uff02\010\uff02\011\uff02\012\uff02" +
-    "\013\uff02\014\uff02\015\uff02\016\uff02\017\uff02\020\uff02\021" +
-    "\uff02\022\uff02\023\uff02\024\uff02\025\uff02\031\uff33\032\uff02" +
-    "\035\uff02\053\uff02\054\uff02\055\uff02\056\uff02\057\uff02\060" +
-    "\uff02\061\uff02\062\uff02\063\uff02\064\uff02\065\uff02\066\uff02" +
-    "\067\uff02\071\uff02\073\uff02\074\uff02\075\uff02\077\uff02\100" +
-    "\uff02\101\uff02\102\uff02\107\uff02\110\uff02\111\uff02\001\002" +
-    "\000\136\002\uff05\004\uff05\005\uff05\006\uff05\007\uff05\010" +
-    "\uff05\011\uff05\012\uff05\013\uff05\014\uff05\015\uff05\016\uff05" +
-    "\017\uff05\020\uff05\021\uff05\022\uff05\023\uff05\024\uff05\025" +
-    "\uff05\031\uff36\032\uff05\035\uff05\053\uff05\054\uff05\055\uff05" +
-    "\056\uff05\057\uff05\060\uff05\061\uff05\062\uff05\063\uff05\064" +
-    "\uff05\065\uff05\066\uff05\067\uff05\071\uff05\073\uff05\074\uff05" +
-    "\075\uff05\077\uff05\100\uff05\101\uff05\102\uff05\107\uff05\110" +
-    "\uff05\111\uff05\001\002\000\134\002\uff14\004\uff14\005\uff14" +
-    "\006\uff14\007\uff14\010\uff14\011\uff14\012\uff14\013\uff14\014" +
-    "\uff14\015\uff14\016\uff14\017\uff14\020\uff14\021\uff14\022\uff14" +
-    "\023\uff14\024\uff14\025\uff14\026\273\031\uff46\032\uff14\053" +
-    "\uff14\054\uff14\055\uff14\056\uff14\057\uff14\060\uff14\061\uff14" +
-    "\062\uff14\063\uff14\064\uff14\065\uff14\066\uff14\067\uff14\071" +
-    "\uff14\073\uff14\074\uff14\075\uff14\100\uff14\101\uff14\102\uff14" +
-    "\107\uff14\110\uff14\111\uff14\001\002\000\134\002\ufefc\004" +
-    "\ufefc\005\ufefc\006\ufefc\007\ufefc\010\ufefc\011\ufefc\012\ufefc" +
-    "\013\ufefc\014\ufefc\015\ufefc\016\ufefc\017\ufefc\020\ufefc\021" +
-    "\ufefc\022\ufefc\023\ufefc\024\ufefc\025\ufefc\031\uff2d\032\ufefc" +
-    "\033\257\053\ufefc\054\ufefc\055\ufefc\056\ufefc\057\ufefc\060" +
-    "\ufefc\061\ufefc\062\ufefc\063\ufefc\064\ufefc\065\ufefc\066\ufefc" +
-    "\067\ufefc\071\ufefc\073\ufefc\074\ufefc\075\ufefc\100\ufefc\101" +
-    "\ufefc\102\ufefc\107\ufefc\110\ufefc\111\ufefc\001\002\000\006" +
-    "\032\221\100\222\001\002\000\126\002\uff9e\004\uff9e\005" +
-    "\uff9e\007\uff9e\010\uff9e\011\uff9e\012\uff9e\013\uff9e\014\uff9e" +
-    "\015\uff9e\016\uff9e\017\uff9e\020\uff9e\021\uff9e\022\uff9e\023" +
-    "\uff9e\024\uff9e\025\uff9e\032\uff9e\053\uff9e\054\uff9e\055\uff9e" +
-    "\056\uff9e\057\uff9e\060\uff9e\061\uff9e\062\uff9e\063\uff9e\064" +
-    "\uff9e\065\uff9e\066\uff9e\067\uff9e\071\uff9e\073\uff9e\074\uff9e" +
-    "\075\uff9e\100\uff9e\101\uff9e\102\uff9e\107\uff9e\110\uff9e\111" +
-    "\uff9e\001\002\000\126\002\uff97\004\uff97\005\uff97\007\uff97" +
-    "\010\uff97\011\uff97\012\uff97\013\uff97\014\uff97\015\uff97\016" +
-    "\uff97\017\uff97\020\uff97\021\uff97\022\uff97\023\uff97\024\uff97" +
-    "\025\uff97\032\uff97\053\uff97\054\uff97\055\uff97\056\uff97\057" +
-    "\uff97\060\uff97\061\uff97\062\uff97\063\uff97\064\uff97\065\uff97" +
-    "\066\uff97\067\uff97\071\uff97\073\uff97\074\uff97\075\uff97\100" +
-    "\uff97\101\uff97\102\uff97\107\uff97\110\uff97\111\uff97\001\002" +
-    "\000\130\002\uff6f\004\uff6f\005\uff6f\007\uff6f\010\uff6f\011" +
-    "\uff6f\012\uff6f\013\uff6f\014\uff6f\015\uff6f\016\uff6f\017\uff6f" +
-    "\020\uff6f\021\uff6f\022\uff6f\023\uff6f\024\uff6f\025\uff6f\032" +
-    "\uff6f\035\uff6f\053\uff6f\054\uff6f\055\uff6f\056\uff6f\057\uff6f" +
-    "\060\uff6f\061\uff6f\062\uff6f\063\uff6f\064\uff6f\065\uff6f\066" +
-    "\uff6f\067\uff6f\071\uff6f\073\uff6f\074\uff6f\075\uff6f\100\uff6f" +
-    "\101\uff6f\102\uff6f\107\uff6f\110\uff6f\111\uff6f\001\002\000" +
-    "\126\002\uffb2\004\uffb2\005\uffb2\007\uffb2\010\uffb2\011\uffb2" +
-    "\012\uffb2\013\uffb2\014\uffb2\015\uffb2\016\uffb2\017\uffb2\020" +
-    "\uffb2\021\uffb2\022\uffb2\023\uffb2\024\uffb2\025\uffb2\032\uffb2" +
-    "\053\uffb2\054\uffb2\055\uffb2\056\uffb2\057\uffb2\060\uffb2\061" +
-    "\uffb2\062\uffb2\063\uffb2\064\uffb2\065\uffb2\066\uffb2\067\uffb2" +
-    "\071\uffb2\073\uffb2\074\uffb2\075\uffb2\100\uffb2\101\uffb2\102" +
-    "\uffb2\107\uffb2\110\uffb2\111\uffb2\001\002\000\126\002\uff8e" +
-    "\004\uff8e\005\uff8e\007\uff8e\010\uff8e\011\uff8e\012\uff8e\013" +
-    "\uff8e\014\uff8e\015\uff8e\016\uff8e\017\uff8e\020\uff8e\021\uff8e" +
-    "\022\uff8e\023\uff8e\024\uff8e\025\uff8e\032\uff8e\053\uff8e\054" +
-    "\uff8e\055\uff8e\056\uff8e\057\uff8e\060\uff8e\061\uff8e\062\uff8e" +
-    "\063\uff8e\064\uff8e\065\uff8e\066\uff8e\067\uff8e\071\uff8e\073" +
-    "\uff8e\074\uff8e\075\uff8e\100\uff8e\101\uff8e\102\uff8e\107\uff8e" +
-    "\110\uff8e\111\uff8e\001\002\000\126\002\uff90\004\uff90\005" +
-    "\uff90\007\uff90\010\uff90\011\uff90\012\uff90\013\uff90\014\uff90" +
-    "\015\uff90\016\uff90\017\uff90\020\uff90\021\uff90\022\uff90\023" +
-    "\uff90\024\uff90\025\uff90\032\uff90\053\uff90\054\uff90\055\uff90" +
-    "\056\uff90\057\uff90\060\uff90\061\uff90\062\uff90\063\uff90\064" +
-    "\uff90\065\uff90\066\uff90\067\uff90\071\uff90\073\uff90\074\uff90" +
-    "\075\uff90\100\uff90\101\uff90\102\uff90\107\uff90\110\uff90\111" +
-    "\uff90\001\002\000\126\002\uff50\004\uff50\005\uff50\007\uff50" +
-    "\010\uff50\011\uff50\012\uff50\013\uff50\014\uff50\015\uff50\016" +
-    "\uff50\017\uff50\020\uff50\021\uff50\022\uff50\023\uff50\024\uff50" +
-    "\025\uff50\032\uff50\053\uff50\054\uff50\055\uff50\056\uff50\057" +
-    "\uff50\060\uff50\061\uff50\062\uff50\063\uff50\064\uff50\065\uff50" +
-    "\066\uff50\067\uff50\071\uff50\073\uff50\074\uff50\075\uff50\100" +
-    "\uff50\101\uff50\102\uff50\107\uff50\110\uff50\111\uff50\001\002" +
-    "\000\126\002\uffa8\004\uffa8\005\uffa8\007\uffa8\010\uffa8\011" +
-    "\uffa8\012\uffa8\013\uffa8\014\uffa8\015\uffa8\016\uffa8\017\uffa8" +
-    "\020\uffa8\021\uffa8\022\uffa8\023\uffa8\024\uffa8\025\uffa8\032" +
-    "\uffa8\053\uffa8\054\uffa8\055\uffa8\056\uffa8\057\uffa8\060\uffa8" +
-    "\061\uffa8\062\uffa8\063\uffa8\064\uffa8\065\uffa8\066\uffa8\067" +
-    "\uffa8\071\uffa8\073\uffa8\074\uffa8\075\uffa8\100\uffa8\101\uffa8" +
-    "\102\uffa8\107\uffa8\110\uffa8\111\uffa8\001\002\000\136\002" +
-    "\ufefd\004\ufefd\005\ufefd\006\ufefd\007\ufefd\010\ufefd\011\ufefd" +
-    "\012\ufefd\013\ufefd\014\ufefd\015\ufefd\016\ufefd\017\ufefd\020" +
-    "\ufefd\021\ufefd\022\ufefd\023\ufefd\024\ufefd\025\ufefd\031\uff2e" +
-    "\032\ufefd\035\ufefd\053\ufefd\054\ufefd\055\ufefd\056\ufefd\057" +
-    "\ufefd\060\ufefd\061\ufefd\062\ufefd\063\ufefd\064\ufefd\065\ufefd" +
-    "\066\ufefd\067\ufefd\071\ufefd\073\ufefd\074\ufefd\075\ufefd\077" +
-    "\ufefd\100\ufefd\101\ufefd\102\ufefd\107\ufefd\110\ufefd\111\ufefd" +
-    "\001\002\000\110\002\uffdf\005\uffdf\007\uffdf\010\uffdf\011" +
-    "\uffdf\012\uffdf\013\uffdf\014\uffdf\015\uffdf\016\uffdf\017\uffdf" +
-    "\020\uffdf\021\uffdf\022\uffdf\023\uffdf\032\uffdf\053\uffdf\054" +
-    "\uffdf\055\uffdf\056\uffdf\057\uffdf\060\uffdf\061\uffdf\062\uffdf" +
-    "\063\uffdf\064\uffdf\065\207\066\206\075\uffdf\100\uffdf\101" +
-    "\uffdf\102\uffdf\107\uffdf\110\uffdf\111\uffdf\001\002\000\136" +
-    "\002\ufef8\004\ufef8\005\ufef8\006\ufef8\007\ufef8\010\ufef8\011" +
-    "\ufef8\012\ufef8\013\ufef8\014\ufef8\015\ufef8\016\ufef8\017\ufef8" +
-    "\020\ufef8\021\ufef8\022\ufef8\023\ufef8\024\ufef8\025\ufef8\031" +
-    "\uff28\032\ufef8\035\ufef8\053\ufef8\054\ufef8\055\ufef8\056\ufef8" +
-    "\057\ufef8\060\ufef8\061\ufef8\062\ufef8\063\ufef8\064\ufef8\065" +
-    "\ufef8\066\ufef8\067\ufef8\071\ufef8\073\ufef8\074\ufef8\075\ufef8" +
-    "\077\ufef8\100\ufef8\101\ufef8\102\ufef8\107\ufef8\110\ufef8\111" +
-    "\ufef8\001\002\000\126\002\uff8f\004\uff8f\005\uff8f\007\uff8f" +
-    "\010\uff8f\011\uff8f\012\uff8f\013\uff8f\014\uff8f\015\uff8f\016" +
-    "\uff8f\017\uff8f\020\uff8f\021\uff8f\022\uff8f\023\uff8f\024\uff8f" +
-    "\025\uff8f\032\uff8f\053\uff8f\054\uff8f\055\uff8f\056\uff8f\057" +
-    "\uff8f\060\uff8f\061\uff8f\062\uff8f\063\uff8f\064\uff8f\065\uff8f" +
-    "\066\uff8f\067\uff8f\071\uff8f\073\uff8f\074\uff8f\075\uff8f\100" +
-    "\uff8f\101\uff8f\102\uff8f\107\uff8f\110\uff8f\111\uff8f\001\002" +
-    "\000\136\002\uff16\004\uff16\005\uff16\006\uff16\007\uff16\010" +
-    "\uff16\011\uff16\012\uff16\013\uff16\014\uff16\015\uff16\016\uff16" +
-    "\017\uff16\020\uff16\021\uff16\022\uff16\023\uff16\024\uff16\025" +
-    "\uff16\031\uff48\032\uff16\035\uff16\053\uff16\054\uff16\055\uff16" +
-    "\056\uff16\057\uff16\060\uff16\061\uff16\062\uff16\063\uff16\064" +
-    "\uff16\065\uff16\066\uff16\067\uff16\071\uff16\073\uff16\074\uff16" +
-    "\075\uff16\077\uff16\100\uff16\101\uff16\102\uff16\107\uff16\110" +
-    "\uff16\111\uff16\001\002\000\024\002\ufff1\005\ufff1\007\ufff1" +
-    "\032\ufff1\100\ufff1\101\ufff1\107\ufff1\110\200\111\ufff1\001" +
-    "\002\000\124\002\uffba\005\uffba\007\uffba\010\uffba\011\uffba" +
-    "\012\uffba\013\uffba\014\uffba\015\uffba\016\uffba\017\uffba\020" +
-    "\uffba\021\uffba\022\uffba\023\uffba\024\uffba\025\uffba\032\uffba" +
-    "\053\uffba\054\uffba\055\uffba\056\uffba\057\uffba\060\uffba\061" +
-    "\uffba\062\uffba\063\uffba\064\uffba\065\uffba\066\uffba\067\uffba" +
-    "\071\uffba\073\uffba\074\uffba\075\uffba\100\uffba\101\uffba\102" +
-    "\uffba\107\uffba\110\uffba\111\uffba\001\002\000\200\006\101" +
-    "\010\076\011\134\012\107\024\022\025\006\027\070\030" +
-    "\117\033\071\034\120\036\040\037\156\040\145\041\045" +
-    "\042\004\043\041\044\010\045\020\046\012\047\031\050" +
-    "\110\051\066\052\061\061\111\062\077\063\067\064\102" +
-    "\065\125\066\072\067\050\070\155\071\023\073\133\074" +
-    "\154\075\135\076\203\077\142\100\113\101\171\102\175" +
-    "\103\205\104\201\105\204\106\052\107\114\110\173\111" +
-    "\143\112\132\113\126\114\024\115\016\116\047\117\124" +
-    "\120\141\121\056\122\051\123\055\124\153\125\034\126" +
-    "\035\127\104\130\167\131\123\001\002\000\136\002\ufefb" +
-    "\004\ufefb\005\ufefb\006\ufefb\007\ufefb\010\ufefb\011\ufefb\012" +
-    "\ufefb\013\ufefb\014\ufefb\015\ufefb\016\ufefb\017\ufefb\020\ufefb" +
-    "\021\ufefb\022\ufefb\023\ufefb\024\ufefb\025\ufefb\031\uff2c\032" +
-    "\ufefb\035\ufefb\053\ufefb\054\ufefb\055\ufefb\056\ufefb\057\ufefb" +
-    "\060\ufefb\061\ufefb\062\ufefb\063\ufefb\064\ufefb\065\ufefb\066" +
-    "\ufefb\067\ufefb\071\ufefb\073\ufefb\074\ufefb\075\ufefb\077\ufefb" +
-    "\100\ufefb\101\ufefb\102\ufefb\107\ufefb\110\ufefb\111\ufefb\001" +
-    "\002\000\024\002\uffee\005\uffee\007\uffee\032\uffee\100\uffee" +
-    "\101\uffee\107\uffee\110\uffee\111\uffee\001\002\000\136\002" +
-    "\uff00\004\uff00\005\uff00\006\uff00\007\uff00\010\uff00\011\uff00" +
-    "\012\uff00\013\uff00\014\uff00\015\uff00\016\uff00\017\uff00\020" +
-    "\uff00\021\uff00\022\uff00\023\uff00\024\uff00\025\uff00\031\uff31" +
-    "\032\uff00\035\uff00\053\uff00\054\uff00\055\uff00\056\uff00\057" +
-    "\uff00\060\uff00\061\uff00\062\uff00\063\uff00\064\uff00\065\uff00" +
-    "\066\uff00\067\uff00\071\uff00\073\uff00\074\uff00\075\uff00\077" +
-    "\uff00\100\uff00\101\uff00\102\uff00\107\uff00\110\uff00\111\uff00" +
-    "\001\002\000\136\002\uff2b\004\uff2b\005\uff2b\006\uff2b\007" +
-    "\uff2b\010\uff2b\011\uff2b\012\uff2b\013\uff2b\014\uff2b\015\uff2b" +
-    "\016\uff2b\017\uff2b\020\uff2b\021\uff2b\022\uff2b\023\uff2b\024" +
-    "\uff2b\025\uff2b\031\uff2b\032\uff2b\035\uff2b\053\uff2b\054\uff2b" +
-    "\055\uff2b\056\uff2b\057\uff2b\060\uff2b\061\uff2b\062\uff2b\063" +
-    "\uff2b\064\uff2b\065\uff2b\066\uff2b\067\uff2b\071\uff2b\073\uff2b" +
-    "\074\uff2b\075\uff2b\077\uff2b\100\uff2b\101\uff2b\102\uff2b\107" +
-    "\uff2b\110\uff2b\111\uff2b\001\002\000\136\002\ufefc\004\ufefc" +
-    "\005\ufefc\006\ufefc\007\ufefc\010\ufefc\011\ufefc\012\ufefc\013" +
-    "\ufefc\014\ufefc\015\ufefc\016\ufefc\017\ufefc\020\ufefc\021\ufefc" +
-    "\022\ufefc\023\ufefc\024\ufefc\025\ufefc\031\uff2d\032\ufefc\035" +
-    "\ufefc\053\ufefc\054\ufefc\055\ufefc\056\ufefc\057\ufefc\060\ufefc" +
-    "\061\ufefc\062\ufefc\063\ufefc\064\ufefc\065\ufefc\066\ufefc\067" +
-    "\ufefc\071\ufefc\073\ufefc\074\ufefc\075\ufefc\077\ufefc\100\ufefc" +
-    "\101\ufefc\102\ufefc\107\ufefc\110\ufefc\111\ufefc\001\002\000" +
-    "\200\006\101\010\076\011\134\012\107\024\022\025\006" +
-    "\027\070\030\117\033\071\034\120\036\040\037\156\040" +
-    "\145\041\045\042\004\043\041\044\010\045\020\046\012" +
-    "\047\031\050\110\051\066\052\061\061\111\062\077\063" +
-    "\067\064\102\065\125\066\072\067\050\070\155\071\023" +
-    "\073\133\074\154\075\135\076\203\077\142\100\113\101" +
-    "\171\102\175\103\205\104\201\105\204\106\052\107\114" +
-    "\110\173\111\143\112\132\113\126\114\024\115\016\116" +
-    "\047\117\124\120\141\121\056\122\051\123\055\124\153" +
-    "\125\034\126\035\127\104\130\167\131\123\001\002\000" +
-    "\200\006\101\010\076\011\134\012\107\024\022\025\006" +
-    "\027\070\030\117\033\071\034\120\036\040\037\156\040" +
-    "\145\041\045\042\004\043\041\044\010\045\020\046\012" +
-    "\047\031\050\110\051\066\052\061\061\111\062\077\063" +
-    "\067\064\102\065\125\066\072\067\050\070\155\071\023" +
-    "\073\133\074\154\075\135\076\203\077\142\100\113\101" +
-    "\171\102\175\103\205\104\201\105\204\106\052\107\114" +
-    "\110\173\111\143\112\132\113\126\114\024\115\016\116" +
-    "\047\117\124\120\141\121\056\122\051\123\055\124\153" +
-    "\125\034\126\035\127\104\130\167\131\123\001\002\000" +
-    "\110\002\uffdb\005\uffdb\007\uffdb\010\uffdb\011\uffdb\012\uffdb" +
-    "\013\uffdb\014\uffdb\015\uffdb\016\uffdb\017\uffdb\020\uffdb\021" +
-    "\uffdb\022\uffdb\023\uffdb\032\uffdb\053\uffdb\054\uffdb\055\uffdb" +
-    "\056\uffdb\057\uffdb\060\uffdb\061\uffdb\062\uffdb\063\uffdb\064" +
-    "\uffdb\065\uffdb\066\uffdb\075\uffdb\100\uffdb\101\uffdb\102\uffdb" +
-    "\107\uffdb\110\uffdb\111\uffdb\001\002\000\110\002\uffda\005" +
-    "\uffda\007\uffda\010\uffda\011\uffda\012\uffda\013\uffda\014\uffda" +
-    "\015\uffda\016\uffda\017\uffda\020\uffda\021\uffda\022\uffda\023" +
-    "\uffda\032\uffda\053\uffda\054\uffda\055\uffda\056\uffda\057\uffda" +
-    "\060\uffda\061\uffda\062\uffda\063\uffda\064\uffda\065\uffda\066" +
-    "\uffda\075\uffda\100\uffda\101\uffda\102\uffda\107\uffda\110\uffda" +
-    "\111\uffda\001\002\000\126\002\uff99\004\214\005\uff99\007" +
-    "\uff99\010\uff99\011\uff99\012\uff99\013\uff99\014\uff99\015\uff99" +
-    "\016\uff99\017\uff99\020\uff99\021\uff99\022\uff99\023\uff99\024" +
-    "\uff99\025\uff99\032\uff99\053\uff99\054\uff99\055\uff99\056\uff99" +
-    "\057\uff99\060\uff99\061\uff99\062\uff99\063\uff99\064\uff99\065" +
-    "\uff99\066\uff99\067\uff99\071\uff99\073\uff99\074\uff99\075\uff99" +
-    "\100\uff99\101\uff99\102\uff99\107\uff99\110\uff99\111\uff99\001" +
-    "\002\000\126\002\uff98\004\uff98\005\uff98\007\uff98\010\uff98" +
-    "\011\uff98\012\uff98\013\uff98\014\uff98\015\uff98\016\uff98\017" +
-    "\uff98\020\uff98\021\uff98\022\uff98\023\uff98\024\uff98\025\uff98" +
-    "\032\uff98\053\uff98\054\uff98\055\uff98\056\uff98\057\uff98\060" +
-    "\uff98\061\uff98\062\uff98\063\uff98\064\uff98\065\uff98\066\uff98" +
-    "\067\uff98\071\uff98\073\uff98\074\uff98\075\uff98\100\uff98\101" +
-    "\uff98\102\uff98\107\uff98\110\uff98\111\uff98\001\002\000\200" +
-    "\006\101\010\076\011\134\012\107\024\022\025\006\027" +
-    "\070\030\117\033\071\034\120\036\040\037\156\040\145" +
-    "\041\045\042\004\043\041\044\010\045\020\046\012\047" +
-    "\031\050\110\051\066\052\061\061\111\062\077\063\067" +
-    "\064\102\065\125\066\072\067\050\070\155\071\023\073" +
-    "\133\074\154\075\135\076\106\077\142\100\113\101\171" +
-    "\102\175\103\157\104\046\105\147\106\052\107\114\110" +
-    "\173\111\143\112\132\113\126\114\024\115\016\116\047" +
-    "\117\124\120\141\121\056\122\051\123\055\124\153\125" +
-    "\034\126\035\127\104\130\167\131\123\001\002\000\006" +
-    "\005\217\032\216\001\002\000\200\006\101\010\076\011" +
-    "\134\012\107\024\022\025\006\027\070\030\117\033\071" +
-    "\034\120\036\040\037\156\040\145\041\045\042\004\043" +
-    "\041\044\010\045\020\046\012\047\031\050\110\051\066" +
-    "\052\061\061\111\062\077\063\067\064\102\065\125\066" +
-    "\072\067\050\070\155\071\023\073\133\074\154\075\135" +
-    "\076\106\077\142\100\113\101\171\102\175\103\157\104" +
-    "\046\105\147\106\052\107\114\110\173\111\143\112\132" +
-    "\113\126\114\024\115\016\116\047\117\124\120\141\121" +
-    "\056\122\051\123\055\124\153\125\034\126\035\127\104" +
-    "\130\167\131\123\001\002\000\126\002\uff96\004\uff96\005" +
-    "\uff96\007\uff96\010\uff96\011\uff96\012\uff96\013\uff96\014\uff96" +
-    "\015\uff96\016\uff96\017\uff96\020\uff96\021\uff96\022\uff96\023" +
-    "\uff96\024\uff96\025\uff96\032\uff96\053\uff96\054\uff96\055\uff96" +
-    "\056\uff96\057\uff96\060\uff96\061\uff96\062\uff96\063\uff96\064" +
-    "\uff96\065\uff96\066\uff96\067\uff96\071\uff96\073\uff96\074\uff96" +
-    "\075\uff96\100\uff96\101\uff96\102\uff96\107\uff96\110\uff96\111" +
-    "\uff96\001\002\000\012\002\ufffe\005\ufffe\007\ufffe\032\ufffe" +
-    "\001\002\000\004\033\224\001\002\000\200\006\101\010" +
-    "\076\011\134\012\107\024\022\025\006\027\070\030\117" +
-    "\033\071\034\120\036\040\037\156\040\145\041\045\042" +
-    "\004\043\041\044\010\045\020\046\012\047\031\050\110" +
-    "\051\066\052\061\061\111\062\077\063\067\064\102\065" +
-    "\125\066\072\067\050\070\155\071\023\073\133\074\154" +
-    "\075\135\076\106\077\142\100\113\101\171\102\175\103" +
-    "\157\104\046\105\147\106\052\107\114\110\173\111\143" +
-    "\112\132\113\126\114\024\115\016\116\047\117\124\120" +
-    "\141\121\056\122\051\123\055\124\153\125\034\126\035" +
-    "\127\104\130\167\131\123\001\002\000\020\002\ufff9\005" +
-    "\ufff9\007\ufff9\032\ufff9\100\ufff9\101\ufff9\107\ufff9\001\002" +
-    "\000\146\012\233\036\232\037\240\040\252\041\241\042" +
-    "\237\043\236\044\250\045\226\046\246\047\244\050\225" +
-    "\051\242\052\243\061\111\062\077\063\067\064\102\065" +
-    "\125\066\072\067\050\070\155\071\023\073\133\074\154" +
-    "\075\135\076\203\077\142\100\113\101\171\102\175\103" +
-    "\205\104\201\105\204\106\052\107\114\110\173\111\143" +
-    "\112\132\113\126\114\253\115\247\116\251\117\227\120" +
-    "\234\121\230\122\245\123\235\124\153\131\123\001\002" +
-    "\000\134\002\uff0c\004\uff0c\005\uff0c\007\uff0c\010\uff0c\011" +
-    "\uff0c\012\uff0c\013\uff0c\014\uff0c\015\uff0c\016\uff0c\017\uff0c" +
-    "\020\uff0c\021\uff0c\022\uff0c\023\uff0c\024\uff0c\025\uff0c\031" +
-    "\uff3d\032\uff0c\035\uff0c\053\uff0c\054\uff0c\055\uff0c\056\uff0c" +
-    "\057\uff0c\060\uff0c\061\uff0c\062\uff0c\063\uff0c\064\uff0c\065" +
-    "\uff0c\066\uff0c\067\uff0c\071\uff0c\073\uff0c\074\uff0c\075\uff0c" +
-    "\077\uff0c\100\uff0c\101\uff0c\102\uff0c\107\uff0c\110\uff0c\111" +
-    "\uff0c\001\002\000\134\002\uff0f\004\uff0f\005\uff0f\007\uff0f" +
-    "\010\uff0f\011\uff0f\012\uff0f\013\uff0f\014\uff0f\015\uff0f\016" +
-    "\uff0f\017\uff0f\020\uff0f\021\uff0f\022\uff0f\023\uff0f\024\uff0f" +
-    "\025\uff0f\031\uff40\032\uff0f\035\uff0f\053\uff0f\054\uff0f\055" +
-    "\uff0f\056\uff0f\057\uff0f\060\uff0f\061\uff0f\062\uff0f\063\uff0f" +
-    "\064\uff0f\065\uff0f\066\uff0f\067\uff0f\071\uff0f\073\uff0f\074" +
-    "\uff0f\075\uff0f\077\uff0f\100\uff0f\101\uff0f\102\uff0f\107\uff0f" +
-    "\110\uff0f\111\uff0f\001\002\000\136\002\uff24\004\uff24\005" +
-    "\uff24\006\uff24\007\uff24\010\uff24\011\uff24\012\uff24\013\uff24" +
-    "\014\uff24\015\uff24\016\uff24\017\uff24\020\uff24\021\uff24\022" +
-    "\uff24\023\uff24\024\uff24\025\uff24\031\uff24\032\uff24\035\uff24" +
-    "\053\uff24\054\uff24\055\uff24\056\uff24\057\uff24\060\uff24\061" +
-    "\uff24\062\uff24\063\uff24\064\uff24\065\uff24\066\uff24\067\uff24" +
-    "\071\uff24\073\uff24\074\uff24\075\uff24\077\uff24\100\uff24\101" +
-    "\uff24\102\uff24\107\uff24\110\uff24\111\uff24\001\002\000\136" +
-    "\002\uff1d\004\uff1d\005\uff1d\006\uff1d\007\uff1d\010\uff1d\011" +
-    "\uff1d\012\uff1d\013\uff1d\014\uff1d\015\uff1d\016\uff1d\017\uff1d" +
-    "\020\uff1d\021\uff1d\022\uff1d\023\uff1d\024\uff1d\025\uff1d\031" +
-    "\uff1d\032\uff1d\035\uff1d\053\uff1d\054\uff1d\055\uff1d\056\uff1d" +
-    "\057\uff1d\060\uff1d\061\uff1d\062\uff1d\063\uff1d\064\uff1d\065" +
-    "\uff1d\066\uff1d\067\uff1d\071\uff1d\073\uff1d\074\uff1d\075\uff1d" +
-    "\077\uff1d\100\uff1d\101\uff1d\102\uff1d\107\uff1d\110\uff1d\111" +
-    "\uff1d\001\002\000\004\077\255\001\002\000\134\002\uff15" +
-    "\004\uff15\005\uff15\007\uff15\010\uff15\011\uff15\012\uff15\013" +
-    "\uff15\014\uff15\015\uff15\016\uff15\017\uff15\020\uff15\021\uff15" +
-    "\022\uff15\023\uff15\024\uff15\025\uff15\031\uff47\032\uff15\035" +
-    "\uff15\053\uff15\054\uff15\055\uff15\056\uff15\057\uff15\060\uff15" +
-    "\061\uff15\062\uff15\063\uff15\064\uff15\065\uff15\066\uff15\067" +
-    "\uff15\071\uff15\073\uff15\074\uff15\075\uff15\077\uff15\100\uff15" +
-    "\101\uff15\102\uff15\107\uff15\110\uff15\111\uff15\001\002\000" +
-    "\136\002\uff18\004\uff18\005\uff18\006\uff18\007\uff18\010\uff18" +
-    "\011\uff18\012\uff18\013\uff18\014\uff18\015\uff18\016\uff18\017" +
-    "\uff18\020\uff18\021\uff18\022\uff18\023\uff18\024\uff18\025\uff18" +
-    "\031\uff18\032\uff18\035\uff18\053\uff18\054\uff18\055\uff18\056" +
-    "\uff18\057\uff18\060\uff18\061\uff18\062\uff18\063\uff18\064\uff18" +
-    "\065\uff18\066\uff18\067\uff18\071\uff18\073\uff18\074\uff18\075" +
-    "\uff18\077\uff18\100\uff18\101\uff18\102\uff18\107\uff18\110\uff18" +
-    "\111\uff18\001\002\000\136\002\uff1e\004\uff1e\005\uff1e\006" +
-    "\uff1e\007\uff1e\010\uff1e\011\uff1e\012\uff1e\013\uff1e\014\uff1e" +
-    "\015\uff1e\016\uff1e\017\uff1e\020\uff1e\021\uff1e\022\uff1e\023" +
-    "\uff1e\024\uff1e\025\uff1e\031\uff1e\032\uff1e\035\uff1e\053\uff1e" +
-    "\054\uff1e\055\uff1e\056\uff1e\057\uff1e\060\uff1e\061\uff1e\062" +
-    "\uff1e\063\uff1e\064\uff1e\065\uff1e\066\uff1e\067\uff1e\071\uff1e" +
-    "\073\uff1e\074\uff1e\075\uff1e\077\uff1e\100\uff1e\101\uff1e\102" +
-    "\uff1e\107\uff1e\110\uff1e\111\uff1e\001\002\000\136\002\uff1c" +
-    "\004\uff1c\005\uff1c\006\uff1c\007\uff1c\010\uff1c\011\uff1c\012" +
-    "\uff1c\013\uff1c\014\uff1c\015\uff1c\016\uff1c\017\uff1c\020\uff1c" +
-    "\021\uff1c\022\uff1c\023\uff1c\024\uff1c\025\uff1c\031\uff1c\032" +
-    "\uff1c\035\uff1c\053\uff1c\054\uff1c\055\uff1c\056\uff1c\057\uff1c" +
-    "\060\uff1c\061\uff1c\062\uff1c\063\uff1c\064\uff1c\065\uff1c\066" +
-    "\uff1c\067\uff1c\071\uff1c\073\uff1c\074\uff1c\075\uff1c\077\uff1c" +
-    "\100\uff1c\101\uff1c\102\uff1c\107\uff1c\110\uff1c\111\uff1c\001" +
-    "\002\000\134\002\uff11\004\uff11\005\uff11\007\uff11\010\uff11" +
-    "\011\uff11\012\uff11\013\uff11\014\uff11\015\uff11\016\uff11\017" +
-    "\uff11\020\uff11\021\uff11\022\uff11\023\uff11\024\uff11\025\uff11" +
-    "\031\uff42\032\uff11\035\uff11\053\uff11\054\uff11\055\uff11\056" +
-    "\uff11\057\uff11\060\uff11\061\uff11\062\uff11\063\uff11\064\uff11" +
-    "\065\uff11\066\uff11\067\uff11\071\uff11\073\uff11\074\uff11\075" +
-    "\uff11\077\uff11\100\uff11\101\uff11\102\uff11\107\uff11\110\uff11" +
-    "\111\uff11\001\002\000\134\002\uff12\004\uff12\005\uff12\007" +
-    "\uff12\010\uff12\011\uff12\012\uff12\013\uff12\014\uff12\015\uff12" +
-    "\016\uff12\017\uff12\020\uff12\021\uff12\022\uff12\023\uff12\024" +
-    "\uff12\025\uff12\031\uff43\032\uff12\035\uff12\053\uff12\054\uff12" +
-    "\055\uff12\056\uff12\057\uff12\060\uff12\061\uff12\062\uff12\063" +
-    "\uff12\064\uff12\065\uff12\066\uff12\067\uff12\071\uff12\073\uff12" +
-    "\074\uff12\075\uff12\077\uff12\100\uff12\101\uff12\102\uff12\107" +
-    "\uff12\110\uff12\111\uff12\001\002\000\134\002\uff14\004\uff14" +
-    "\005\uff14\007\uff14\010\uff14\011\uff14\012\uff14\013\uff14\014" +
-    "\uff14\015\uff14\016\uff14\017\uff14\020\uff14\021\uff14\022\uff14" +
-    "\023\uff14\024\uff14\025\uff14\031\uff46\032\uff14\035\uff14\053" +
-    "\uff14\054\uff14\055\uff14\056\uff14\057\uff14\060\uff14\061\uff14" +
-    "\062\uff14\063\uff14\064\uff14\065\uff14\066\uff14\067\uff14\071" +
-    "\uff14\073\uff14\074\uff14\075\uff14\077\uff14\100\uff14\101\uff14" +
-    "\102\uff14\107\uff14\110\uff14\111\uff14\001\002\000\134\002" +
-    "\uff13\004\uff13\005\uff13\007\uff13\010\uff13\011\uff13\012\uff13" +
-    "\013\uff13\014\uff13\015\uff13\016\uff13\017\uff13\020\uff13\021" +
-    "\uff13\022\uff13\023\uff13\024\uff13\025\uff13\031\uff44\032\uff13" +
-    "\035\uff13\053\uff13\054\uff13\055\uff13\056\uff13\057\uff13\060" +
-    "\uff13\061\uff13\062\uff13\063\uff13\064\uff13\065\uff13\066\uff13" +
-    "\067\uff13\071\uff13\073\uff13\074\uff13\075\uff13\077\uff13\100" +
-    "\uff13\101\uff13\102\uff13\107\uff13\110\uff13\111\uff13\001\002" +
-    "\000\134\002\uff0b\004\uff0b\005\uff0b\007\uff0b\010\uff0b\011" +
-    "\uff0b\012\uff0b\013\uff0b\014\uff0b\015\uff0b\016\uff0b\017\uff0b" +
-    "\020\uff0b\021\uff0b\022\uff0b\023\uff0b\024\uff0b\025\uff0b\031" +
-    "\uff3c\032\uff0b\035\uff0b\053\uff0b\054\uff0b\055\uff0b\056\uff0b" +
-    "\057\uff0b\060\uff0b\061\uff0b\062\uff0b\063\uff0b\064\uff0b\065" +
-    "\uff0b\066\uff0b\067\uff0b\071\uff0b\073\uff0b\074\uff0b\075\uff0b" +
-    "\077\uff0b\100\uff0b\101\uff0b\102\uff0b\107\uff0b\110\uff0b\111" +
-    "\uff0b\001\002\000\134\002\uff0a\004\uff0a\005\uff0a\007\uff0a" +
-    "\010\uff0a\011\uff0a\012\uff0a\013\uff0a\014\uff0a\015\uff0a\016" +
-    "\uff0a\017\uff0a\020\uff0a\021\uff0a\022\uff0a\023\uff0a\024\uff0a" +
-    "\025\uff0a\031\uff3b\032\uff0a\035\uff0a\053\uff0a\054\uff0a\055" +
-    "\uff0a\056\uff0a\057\uff0a\060\uff0a\061\uff0a\062\uff0a\063\uff0a" +
-    "\064\uff0a\065\uff0a\066\uff0a\067\uff0a\071\uff0a\073\uff0a\074" +
-    "\uff0a\075\uff0a\077\uff0a\100\uff0a\101\uff0a\102\uff0a\107\uff0a" +
-    "\110\uff0a\111\uff0a\001\002\000\134\002\uff0d\004\uff0d\005" +
-    "\uff0d\007\uff0d\010\uff0d\011\uff0d\012\uff0d\013\uff0d\014\uff0d" +
-    "\015\uff0d\016\uff0d\017\uff0d\020\uff0d\021\uff0d\022\uff0d\023" +
-    "\uff0d\024\uff0d\025\uff0d\031\uff3e\032\uff0d\035\uff0d\053\uff0d" +
-    "\054\uff0d\055\uff0d\056\uff0d\057\uff0d\060\uff0d\061\uff0d\062" +
-    "\uff0d\063\uff0d\064\uff0d\065\uff0d\066\uff0d\067\uff0d\071\uff0d" +
-    "\073\uff0d\074\uff0d\075\uff0d\077\uff0d\100\uff0d\101\uff0d\102" +
-    "\uff0d\107\uff0d\110\uff0d\111\uff0d\001\002\000\136\002\uff22" +
-    "\004\uff22\005\uff22\006\uff22\007\uff22\010\uff22\011\uff22\012" +
-    "\uff22\013\uff22\014\uff22\015\uff22\016\uff22\017\uff22\020\uff22" +
-    "\021\uff22\022\uff22\023\uff22\024\uff22\025\uff22\031\uff22\032" +
-    "\uff22\035\uff22\053\uff22\054\uff22\055\uff22\056\uff22\057\uff22" +
-    "\060\uff22\061\uff22\062\uff22\063\uff22\064\uff22\065\uff22\066" +
-    "\uff22\067\uff22\071\uff22\073\uff22\074\uff22\075\uff22\077\uff22" +
-    "\100\uff22\101\uff22\102\uff22\107\uff22\110\uff22\111\uff22\001" +
-    "\002\000\134\002\uff0e\004\uff0e\005\uff0e\007\uff0e\010\uff0e" +
-    "\011\uff0e\012\uff0e\013\uff0e\014\uff0e\015\uff0e\016\uff0e\017" +
-    "\uff0e\020\uff0e\021\uff0e\022\uff0e\023\uff0e\024\uff0e\025\uff0e" +
-    "\031\uff3f\032\uff0e\035\uff0e\053\uff0e\054\uff0e\055\uff0e\056" +
-    "\uff0e\057\uff0e\060\uff0e\061\uff0e\062\uff0e\063\uff0e\064\uff0e" +
-    "\065\uff0e\066\uff0e\067\uff0e\071\uff0e\073\uff0e\074\uff0e\075" +
-    "\uff0e\077\uff0e\100\uff0e\101\uff0e\102\uff0e\107\uff0e\110\uff0e" +
-    "\111\uff0e\001\002\000\136\002\uff23\004\uff23\005\uff23\006" +
-    "\uff23\007\uff23\010\uff23\011\uff23\012\uff23\013\uff23\014\uff23" +
-    "\015\uff23\016\uff23\017\uff23\020\uff23\021\uff23\022\uff23\023" +
-    "\uff23\024\uff23\025\uff23\031\uff23\032\uff23\035\uff23\053\uff23" +
-    "\054\uff23\055\uff23\056\uff23\057\uff23\060\uff23\061\uff23\062" +
-    "\uff23\063\uff23\064\uff23\065\uff23\066\uff23\067\uff23\071\uff23" +
-    "\073\uff23\074\uff23\075\uff23\077\uff23\100\uff23\101\uff23\102" +
-    "\uff23\107\uff23\110\uff23\111\uff23\001\002\000\134\002\uff10" +
-    "\004\uff10\005\uff10\007\uff10\010\uff10\011\uff10\012\uff10\013" +
-    "\uff10\014\uff10\015\uff10\016\uff10\017\uff10\020\uff10\021\uff10" +
-    "\022\uff10\023\uff10\024\uff10\025\uff10\031\uff41\032\uff10\035" +
-    "\uff10\053\uff10\054\uff10\055\uff10\056\uff10\057\uff10\060\uff10" +
-    "\061\uff10\062\uff10\063\uff10\064\uff10\065\uff10\066\uff10\067" +
-    "\uff10\071\uff10\073\uff10\074\uff10\075\uff10\077\uff10\100\uff10" +
-    "\101\uff10\102\uff10\107\uff10\110\uff10\111\uff10\001\002\000" +
-    "\136\002\uff1b\004\uff1b\005\uff1b\006\uff1b\007\uff1b\010\uff1b" +
-    "\011\uff1b\012\uff1b\013\uff1b\014\uff1b\015\uff1b\016\uff1b\017" +
-    "\uff1b\020\uff1b\021\uff1b\022\uff1b\023\uff1b\024\uff1b\025\uff1b" +
-    "\031\uff1b\032\uff1b\035\uff1b\053\uff1b\054\uff1b\055\uff1b\056" +
-    "\uff1b\057\uff1b\060\uff1b\061\uff1b\062\uff1b\063\uff1b\064\uff1b" +
-    "\065\uff1b\066\uff1b\067\uff1b\071\uff1b\073\uff1b\074\uff1b\075" +
-    "\uff1b\077\uff1b\100\uff1b\101\uff1b\102\uff1b\107\uff1b\110\uff1b" +
-    "\111\uff1b\001\002\000\136\002\uff45\004\uff45\005\uff45\006" +
-    "\uff45\007\uff45\010\uff45\011\uff45\012\uff45\013\uff45\014\uff45" +
-    "\015\uff45\016\uff45\017\uff45\020\uff45\021\uff45\022\uff45\023" +
-    "\uff45\024\uff45\025\uff45\031\uff45\032\uff45\035\uff45\053\uff45" +
-    "\054\uff45\055\uff45\056\uff45\057\uff45\060\uff45\061\uff45\062" +
-    "\uff45\063\uff45\064\uff45\065\uff45\066\uff45\067\uff45\071\uff45" +
-    "\073\uff45\074\uff45\075\uff45\077\uff45\100\uff45\101\uff45\102" +
-    "\uff45\107\uff45\110\uff45\111\uff45\001\002\000\136\002\uff1f" +
-    "\004\uff1f\005\uff1f\006\uff1f\007\uff1f\010\uff1f\011\uff1f\012" +
-    "\uff1f\013\uff1f\014\uff1f\015\uff1f\016\uff1f\017\uff1f\020\uff1f" +
-    "\021\uff1f\022\uff1f\023\uff1f\024\uff1f\025\uff1f\031\uff1f\032" +
-    "\uff1f\035\uff1f\053\uff1f\054\uff1f\055\uff1f\056\uff1f\057\uff1f" +
-    "\060\uff1f\061\uff1f\062\uff1f\063\uff1f\064\uff1f\065\uff1f\066" +
-    "\uff1f\067\uff1f\071\uff1f\073\uff1f\074\uff1f\075\uff1f\077\uff1f" +
-    "\100\uff1f\101\uff1f\102\uff1f\107\uff1f\110\uff1f\111\uff1f\001" +
-    "\002\000\130\002\uff4f\004\uff4f\005\uff4f\007\uff4f\010\uff4f" +
-    "\011\uff4f\012\uff4f\013\uff4f\014\uff4f\015\uff4f\016\uff4f\017" +
-    "\uff4f\020\uff4f\021\uff4f\022\uff4f\023\uff4f\024\uff4f\025\uff4f" +
-    "\032\uff4f\053\uff4f\054\uff4f\055\uff4f\056\uff4f\057\uff4f\060" +
-    "\uff4f\061\uff4f\062\uff4f\063\uff4f\064\uff4f\065\uff4f\066\uff4f" +
-    "\067\uff4f\071\uff4f\073\uff4f\074\uff4f\075\uff4f\077\uff4f\100" +
-    "\uff4f\101\uff4f\102\uff4f\107\uff4f\110\uff4f\111\uff4f\001\002" +
-    "\000\200\006\101\010\076\011\134\012\107\024\022\025" +
-    "\006\027\070\030\117\033\071\034\120\036\040\037\156" +
-    "\040\145\041\045\042\004\043\041\044\010\045\020\046" +
-    "\012\047\031\050\110\051\066\052\061\061\111\062\077" +
-    "\063\067\064\102\065\125\066\072\067\050\070\155\071" +
-    "\023\073\133\074\154\075\135\076\106\077\142\100\113" +
-    "\101\171\102\175\103\157\104\046\105\147\106\052\107" +
-    "\114\110\173\111\143\112\132\113\126\114\024\115\016" +
-    "\116\047\117\124\120\141\121\056\122\051\123\055\124" +
-    "\153\125\034\126\035\127\104\130\167\131\123\001\002" +
-    "\000\006\032\ufff7\100\ufff7\001\002\000\146\012\233\036" +
-    "\232\037\240\040\252\041\241\042\237\043\236\044\250" +
-    "\045\226\046\246\047\244\050\225\051\242\052\243\061" +
-    "\111\062\077\063\067\064\102\065\125\066\072\067\050" +
-    "\070\155\071\023\073\133\074\154\075\135\076\203\077" +
-    "\142\100\113\101\171\102\175\103\205\104\201\105\204" +
-    "\106\052\107\114\110\173\111\143\112\132\113\126\114" +
-    "\253\115\247\116\251\117\227\120\234\121\230\122\245" +
-    "\123\235\124\153\131\123\001\002\000\006\032\264\101" +
-    "\265\001\002\000\004\077\262\001\002\000\200\006\101" +
-    "\010\076\011\134\012\107\024\022\025\006\027\070\030" +
-    "\117\033\071\034\120\036\040\037\156\040\145\041\045" +
-    "\042\004\043\041\044\010\045\020\046\012\047\031\050" +
-    "\110\051\066\052\061\061\111\062\077\063\067\064\102" +
-    "\065\125\066\072\067\050\070\155\071\023\073\133\074" +
-    "\154\075\135\076\106\077\142\100\113\101\171\102\175" +
-    "\103\157\104\046\105\147\106\052\107\114\110\173\111" +
-    "\143\112\132\113\126\114\024\115\016\116\047\117\124" +
-    "\120\141\121\056\122\051\123\055\124\153\125\034\126" +
-    "\035\127\104\130\167\131\123\001\002\000\006\032\ufff4" +
-    "\101\ufff4\001\002\000\004\033\267\001\002\000\200\006" +
-    "\101\010\076\011\134\012\107\024\022\025\006\027\070" +
-    "\030\117\033\071\034\120\036\040\037\156\040\145\041" +
-    "\045\042\004\043\041\044\010\045\020\046\012\047\031" +
-    "\050\110\051\066\052\061\061\111\062\077\063\067\064" +
-    "\102\065\125\066\072\067\050\070\155\071\023\073\133" +
-    "\074\154\075\135\076\106\077\142\100\113\101\171\102" +
-    "\175\103\157\104\046\105\147\106\052\107\114\110\173" +
-    "\111\143\112\132\113\126\114\024\115\016\116\047\117" +
-    "\124\120\141\121\056\122\051\123\055\124\153\125\034" +
-    "\126\035\127\104\130\167\131\123\001\002\000\020\002" +
-    "\ufff6\005\ufff6\007\ufff6\032\ufff6\100\ufff6\101\ufff6\107\ufff6" +
-    "\001\002\000\146\012\233\036\232\037\240\040\252\041" +
-    "\241\042\237\043\236\044\250\045\226\046\246\047\244" +
-    "\050\225\051\242\052\243\061\111\062\077\063\067\064" +
-    "\102\065\125\066\072\067\050\070\155\071\023\073\133" +
-    "\074\154\075\135\076\203\077\142\100\113\101\171\102" +
-    "\175\103\205\104\201\105\204\106\052\107\114\110\173" +
-    "\111\143\112\132\113\126\114\253\115\247\116\251\117" +
-    "\227\120\234\121\230\122\245\123\235\124\153\131\123" +
-    "\001\002\000\004\077\271\001\002\000\200\006\101\010" +
-    "\076\011\134\012\107\024\022\025\006\027\070\030\117" +
-    "\033\071\034\120\036\040\037\156\040\145\041\045\042" +
-    "\004\043\041\044\010\045\020\046\012\047\031\050\110" +
-    "\051\066\052\061\061\111\062\077\063\067\064\102\065" +
-    "\125\066\072\067\050\070\155\071\023\073\133\074\154" +
-    "\075\135\076\106\077\142\100\113\101\171\102\175\103" +
-    "\157\104\046\105\147\106\052\107\114\110\173\111\143" +
-    "\112\132\113\126\114\024\115\016\116\047\117\124\120" +
-    "\141\121\056\122\051\123\055\124\153\125\034\126\035" +
-    "\127\104\130\167\131\123\001\002\000\006\032\ufff3\101" +
-    "\ufff3\001\002\000\146\012\uffb0\036\uffb0\037\uffb0\040\uffb0" +
-    "\041\uffb0\042\uffb0\043\uffb0\044\uffb0\045\uffb0\046\uffb0\047" +
-    "\uffb0\050\uffb0\051\uffb0\052\uffb0\061\uffb0\062\uffb0\063\uffb0" +
-    "\064\uffb0\065\uffb0\066\uffb0\067\uffb0\070\uffb0\071\uffb0\073" +
-    "\uffb0\074\uffb0\075\uffb0\076\uffb0\077\uffb0\100\uffb0\101\uffb0" +
-    "\102\uffb0\103\uffb0\104\uffb0\105\uffb0\106\uffb0\107\uffb0\110" +
-    "\uffb0\111\uffb0\112\uffb0\113\uffb0\114\uffb0\115\uffb0\116\uffb0" +
-    "\117\uffb0\120\uffb0\121\uffb0\122\uffb0\123\uffb0\124\uffb0\131" +
-    "\uffb0\001\002\000\200\006\101\010\076\011\134\012\107" +
-    "\024\022\025\006\027\070\030\117\033\071\034\120\036" +
-    "\040\037\156\040\145\041\045\042\004\043\041\044\010" +
-    "\045\020\046\012\047\031\050\110\051\066\052\061\061" +
-    "\111\062\077\063\067\064\102\065\125\066\072\067\050" +
-    "\070\155\071\023\073\133\074\154\075\135\076\106\077" +
-    "\142\100\113\101\171\102\175\103\157\104\046\105\147" +
-    "\106\052\107\114\110\173\111\143\112\132\113\126\114" +
-    "\024\115\016\116\047\117\124\120\141\121\056\122\051" +
-    "\123\055\124\153\125\034\126\035\127\104\130\167\131" +
-    "\123\001\002\000\006\007\276\032\216\001\002\000\004" +
-    "\106\277\001\002\000\200\006\101\010\076\011\134\012" +
-    "\107\024\022\025\006\027\070\030\117\033\071\034\120" +
-    "\036\040\037\156\040\145\041\045\042\004\043\041\044" +
-    "\010\045\020\046\012\047\031\050\110\051\066\052\061" +
-    "\061\111\062\077\063\067\064\102\065\125\066\072\067" +
-    "\050\070\155\071\023\073\133\074\154\075\135\076\106" +
-    "\077\142\100\113\101\171\102\175\103\157\104\046\105" +
-    "\147\106\052\107\114\110\173\111\143\112\132\113\126" +
-    "\114\024\115\016\116\047\117\124\120\141\121\056\122" +
-    "\051\123\055\124\153\125\034\126\035\127\104\130\167" +
-    "\131\123\001\002\000\004\107\301\001\002\000\200\006" +
-    "\101\010\076\011\134\012\107\024\022\025\006\027\070" +
-    "\030\117\033\071\034\120\036\040\037\156\040\145\041" +
-    "\045\042\004\043\041\044\010\045\020\046\012\047\031" +
-    "\050\110\051\066\052\061\061\111\062\077\063\067\064" +
-    "\102\065\125\066\072\067\050\070\155\071\023\073\133" +
-    "\074\154\075\135\076\106\077\142\100\113\101\171\102" +
-    "\175\103\157\104\046\105\147\106\052\107\114\110\173" +
-    "\111\143\112\132\113\126\114\024\115\016\116\047\117" +
-    "\124\120\141\121\056\122\051\123\055\124\153\125\034" +
-    "\126\035\127\104\130\167\131\123\001\002\000\020\002" +
-    "\ufff2\005\ufff2\007\ufff2\032\ufff2\100\ufff2\101\ufff2\107\ufff2" +
-    "\001\002\000\146\012\uffaf\036\uffaf\037\uffaf\040\uffaf\041" +
-    "\uffaf\042\uffaf\043\uffaf\044\uffaf\045\uffaf\046\uffaf\047\uffaf" +
-    "\050\uffaf\051\uffaf\052\uffaf\061\uffaf\062\uffaf\063\uffaf\064" +
-    "\uffaf\065\uffaf\066\uffaf\067\uffaf\070\uffaf\071\uffaf\073\uffaf" +
-    "\074\uffaf\075\uffaf\076\uffaf\077\uffaf\100\uffaf\101\uffaf\102" +
-    "\uffaf\103\uffaf\104\uffaf\105\uffaf\106\uffaf\107\uffaf\110\uffaf" +
-    "\111\uffaf\112\uffaf\113\uffaf\114\uffaf\115\uffaf\116\uffaf\117" +
-    "\uffaf\120\uffaf\121\uffaf\122\uffaf\123\uffaf\124\uffaf\131\uffaf" +
-    "\001\002\000\150\007\306\012\305\036\232\037\240\040" +
-    "\252\041\241\042\237\043\236\044\250\045\226\046\246" +
-    "\047\244\050\225\051\242\052\243\061\111\062\077\063" +
-    "\067\064\102\065\125\066\072\067\050\070\155\071\023" +
-    "\073\133\074\154\075\135\076\203\077\142\100\113\101" +
-    "\171\102\175\103\205\104\201\105\204\106\052\107\114" +
-    "\110\173\111\143\112\132\113\126\114\253\115\247\116" +
-    "\251\117\227\120\234\121\230\122\245\123\235\124\153" +
-    "\131\123\001\002\000\010\007\uff61\031\uff18\032\uff61\001" +
-    "\002\000\130\002\uff65\004\uff65\005\uff65\007\uff65\010\uff65" +
-    "\011\uff65\012\uff65\013\uff65\014\uff65\015\uff65\016\uff65\017" +
-    "\uff65\020\uff65\021\uff65\022\uff65\023\uff65\024\uff65\025\uff65" +
-    "\032\uff65\035\uff65\053\uff65\054\uff65\055\uff65\056\uff65\057" +
-    "\uff65\060\uff65\061\uff65\062\uff65\063\uff65\064\uff65\065\uff65" +
-    "\066\uff65\067\uff65\071\uff65\073\uff65\074\uff65\075\uff65\100" +
-    "\uff65\101\uff65\102\uff65\107\uff65\110\uff65\111\uff65\001\002" +
-    "\000\006\007\uff62\032\uff62\001\002\000\006\007\313\032" +
-    "\312\001\002\000\006\007\uff56\032\uff56\001\002\000\146" +
-    "\012\233\036\232\037\240\040\252\041\241\042\237\043" +
-    "\236\044\250\045\226\046\246\047\244\050\225\051\242" +
-    "\052\243\061\111\062\077\063\067\064\102\065\125\066" +
-    "\072\067\050\070\155\071\023\073\133\074\154\075\135" +
-    "\076\203\077\142\100\113\101\171\102\175\103\205\104" +
-    "\201\105\204\106\052\107\114\110\173\111\143\112\132" +
-    "\113\126\114\253\115\247\116\251\117\227\120\234\121" +
-    "\230\122\245\123\235\124\153\131\123\001\002\000\130" +
-    "\002\uff64\004\uff64\005\uff64\007\uff64\010\uff64\011\uff64\012" +
-    "\uff64\013\uff64\014\uff64\015\uff64\016\uff64\017\uff64\020\uff64" +
-    "\021\uff64\022\uff64\023\uff64\024\uff64\025\uff64\032\uff64\035" +
-    "\uff64\053\uff64\054\uff64\055\uff64\056\uff64\057\uff64\060\uff64" +
-    "\061\uff64\062\uff64\063\uff64\064\uff64\065\uff64\066\uff64\067" +
-    "\uff64\071\uff64\073\uff64\074\uff64\075\uff64\100\uff64\101\uff64" +
-    "\102\uff64\107\uff64\110\uff64\111\uff64\001\002\000\004\007" +
-    "\316\001\002\000\006\007\uff54\035\uff54\001\002\000\130" +
-    "\002\uff63\004\uff63\005\uff63\007\uff63\010\uff63\011\uff63\012" +
-    "\uff63\013\uff63\014\uff63\015\uff63\016\uff63\017\uff63\020\uff63" +
-    "\021\uff63\022\uff63\023\uff63\024\uff63\025\uff63\032\uff63\035" +
-    "\uff63\053\uff63\054\uff63\055\uff63\056\uff63\057\uff63\060\uff63" +
-    "\061\uff63\062\uff63\063\uff63\064\uff63\065\uff63\066\uff63\067" +
-    "\uff63\071\uff63\073\uff63\074\uff63\075\uff63\100\uff63\101\uff63" +
-    "\102\uff63\107\uff63\110\uff63\111\uff63\001\002\000\152\007" +
-    "\333\012\233\036\327\037\343\040\252\041\346\042\341" +
-    "\043\337\044\365\045\325\046\364\047\354\050\322\051" +
-    "\352\052\353\061\340\062\336\063\351\064\355\065\366" +
-    "\066\321\067\362\070\342\071\350\073\361\074\320\075" +
-    "\332\076\326\077\334\100\345\101\344\102\360\103\323" +
-    "\104\357\105\204\106\363\107\356\110\331\111\335\112" +
-    "\132\113\126\114\253\115\247\116\251\117\227\120\234" +
-    "\121\230\122\245\123\235\124\153\130\167\131\347\001" +
-    "\002\000\134\002\uff33\004\uff33\005\uff33\006\uff33\007\uff33" +
-    "\010\uff33\011\uff33\012\uff33\013\uff33\014\uff33\015\uff33\016" +
-    "\uff33\017\uff33\020\uff33\021\uff33\022\uff33\023\uff33\024\uff33" +
-    "\025\uff33\032\uff33\035\uff33\053\uff33\054\uff33\055\uff33\056" +
-    "\uff33\057\uff33\060\uff33\061\uff33\062\uff33\063\uff33\064\uff33" +
-    "\065\uff33\066\uff33\067\uff33\071\uff33\073\uff33\074\uff33\075" +
-    "\uff33\077\uff33\100\uff33\101\uff33\102\uff33\107\uff33\110\uff33" +
-    "\111\uff33\001\002\000\134\002\uff38\004\uff38\005\uff38\006" +
-    "\uff38\007\uff38\010\uff38\011\uff38\012\uff38\013\uff38\014\uff38" +
-    "\015\uff38\016\uff38\017\uff38\020\uff38\021\uff38\022\uff38\023" +
-    "\uff38\024\uff38\025\uff38\032\uff38\035\uff38\053\uff38\054\uff38" +
-    "\055\uff38\056\uff38\057\uff38\060\uff38\061\uff38\062\uff38\063" +
-    "\uff38\064\uff38\065\uff38\066\uff38\067\uff38\071\uff38\073\uff38" +
-    "\074\uff38\075\uff38\077\uff38\100\uff38\101\uff38\102\uff38\107" +
-    "\uff38\110\uff38\111\uff38\001\002\000\134\002\uff3d\004\uff3d" +
-    "\005\uff3d\006\uff3d\007\uff3d\010\uff3d\011\uff3d\012\uff3d\013" +
-    "\uff3d\014\uff3d\015\uff3d\016\uff3d\017\uff3d\020\uff3d\021\uff3d" +
-    "\022\uff3d\023\uff3d\024\uff3d\025\uff3d\032\uff3d\035\uff3d\053" +
-    "\uff3d\054\uff3d\055\uff3d\056\uff3d\057\uff3d\060\uff3d\061\uff3d" +
-    "\062\uff3d\063\uff3d\064\uff3d\065\uff3d\066\uff3d\067\uff3d\071" +
-    "\uff3d\073\uff3d\074\uff3d\075\uff3d\077\uff3d\100\uff3d\101\uff3d" +
-    "\102\uff3d\107\uff3d\110\uff3d\111\uff3d\001\002\000\134\002" +
-    "\uff2d\004\uff2d\005\uff2d\006\uff2d\007\uff2d\010\uff2d\011\uff2d" +
-    "\012\uff2d\013\uff2d\014\uff2d\015\uff2d\016\uff2d\017\uff2d\020" +
-    "\uff2d\021\uff2d\022\uff2d\023\uff2d\024\uff2d\025\uff2d\032\uff2d" +
-    "\035\uff2d\053\uff2d\054\uff2d\055\uff2d\056\uff2d\057\uff2d\060" +
-    "\uff2d\061\uff2d\062\uff2d\063\uff2d\064\uff2d\065\uff2d\066\uff2d" +
-    "\067\uff2d\071\uff2d\073\uff2d\074\uff2d\075\uff2d\077\uff2d\100" +
-    "\uff2d\101\uff2d\102\uff2d\107\uff2d\110\uff2d\111\uff2d\001\002" +
-    "\000\004\007\370\001\002\000\134\002\uff40\004\uff40\005" +
-    "\uff40\006\uff40\007\uff40\010\uff40\011\uff40\012\uff40\013\uff40" +
-    "\014\uff40\015\uff40\016\uff40\017\uff40\020\uff40\021\uff40\022" +
-    "\uff40\023\uff40\024\uff40\025\uff40\032\uff40\035\uff40\053\uff40" +
-    "\054\uff40\055\uff40\056\uff40\057\uff40\060\uff40\061\uff40\062" +
-    "\uff40\063\uff40\064\uff40\065\uff40\066\uff40\067\uff40\071\uff40" +
-    "\073\uff40\074\uff40\075\uff40\077\uff40\100\uff40\101\uff40\102" +
-    "\uff40\107\uff40\110\uff40\111\uff40\001\002\000\134\002\uff31" +
-    "\004\uff31\005\uff31\006\uff31\007\uff31\010\uff31\011\uff31\012" +
-    "\uff31\013\uff31\014\uff31\015\uff31\016\uff31\017\uff31\020\uff31" +
-    "\021\uff31\022\uff31\023\uff31\024\uff31\025\uff31\032\uff31\035" +
-    "\uff31\053\uff31\054\uff31\055\uff31\056\uff31\057\uff31\060\uff31" +
-    "\061\uff31\062\uff31\063\uff31\064\uff31\065\uff31\066\uff31\067" +
-    "\uff31\071\uff31\073\uff31\074\uff31\075\uff31\077\uff31\100\uff31" +
-    "\101\uff31\102\uff31\107\uff31\110\uff31\111\uff31\001\002\000" +
-    "\134\002\uff47\004\uff47\005\uff47\006\uff47\007\uff47\010\uff47" +
-    "\011\uff47\012\uff47\013\uff47\014\uff47\015\uff47\016\uff47\017" +
-    "\uff47\020\uff47\021\uff47\022\uff47\023\uff47\024\uff47\025\uff47" +
-    "\032\uff47\035\uff47\053\uff47\054\uff47\055\uff47\056\uff47\057" +
-    "\uff47\060\uff47\061\uff47\062\uff47\063\uff47\064\uff47\065\uff47" +
-    "\066\uff47\067\uff47\071\uff47\073\uff47\074\uff47\075\uff47\077" +
-    "\uff47\100\uff47\101\uff47\102\uff47\107\uff47\110\uff47\111\uff47" +
-    "\001\002\000\004\007\367\001\002\000\134\002\uff28\004" +
-    "\uff28\005\uff28\006\uff28\007\uff28\010\uff28\011\uff28\012\uff28" +
-    "\013\uff28\014\uff28\015\uff28\016\uff28\017\uff28\020\uff28\021" +
-    "\uff28\022\uff28\023\uff28\024\uff28\025\uff28\032\uff28\035\uff28" +
-    "\053\uff28\054\uff28\055\uff28\056\uff28\057\uff28\060\uff28\061" +
-    "\uff28\062\uff28\063\uff28\064\uff28\065\uff28\066\uff28\067\uff28" +
-    "\071\uff28\073\uff28\074\uff28\075\uff28\077\uff28\100\uff28\101" +
-    "\uff28\102\uff28\107\uff28\110\uff28\111\uff28\001\002\000\134" +
-    "\002\uff32\004\uff32\005\uff32\006\uff32\007\uff32\010\uff32\011" +
-    "\uff32\012\uff32\013\uff32\014\uff32\015\uff32\016\uff32\017\uff32" +
-    "\020\uff32\021\uff32\022\uff32\023\uff32\024\uff32\025\uff32\032" +
-    "\uff32\035\uff32\053\uff32\054\uff32\055\uff32\056\uff32\057\uff32" +
-    "\060\uff32\061\uff32\062\uff32\063\uff32\064\uff32\065\uff32\066" +
-    "\uff32\067\uff32\071\uff32\073\uff32\074\uff32\075\uff32\077\uff32" +
-    "\100\uff32\101\uff32\102\uff32\107\uff32\110\uff32\111\uff32\001" +
-    "\002\000\130\002\uff68\004\uff68\005\uff68\007\uff68\010\uff68" +
-    "\011\uff68\012\uff68\013\uff68\014\uff68\015\uff68\016\uff68\017" +
-    "\uff68\020\uff68\021\uff68\022\uff68\023\uff68\024\uff68\025\uff68" +
-    "\032\uff68\035\uff68\053\uff68\054\uff68\055\uff68\056\uff68\057" +
-    "\uff68\060\uff68\061\uff68\062\uff68\063\uff68\064\uff68\065\uff68" +
-    "\066\uff68\067\uff68\071\uff68\073\uff68\074\uff68\075\uff68\100" +
-    "\uff68\101\uff68\102\uff68\107\uff68\110\uff68\111\uff68\001\002" +
-    "\000\134\002\uff30\004\uff30\005\uff30\006\uff30\007\uff30\010" +
-    "\uff30\011\uff30\012\uff30\013\uff30\014\uff30\015\uff30\016\uff30" +
-    "\017\uff30\020\uff30\021\uff30\022\uff30\023\uff30\024\uff30\025" +
-    "\uff30\032\uff30\035\uff30\053\uff30\054\uff30\055\uff30\056\uff30" +
-    "\057\uff30\060\uff30\061\uff30\062\uff30\063\uff30\064\uff30\065" +
-    "\uff30\066\uff30\067\uff30\071\uff30\073\uff30\074\uff30\075\uff30" +
-    "\077\uff30\100\uff30\101\uff30\102\uff30\107\uff30\110\uff30\111" +
-    "\uff30\001\002\000\134\002\uff27\004\uff27\005\uff27\006\uff27" +
-    "\007\uff27\010\uff27\011\uff27\012\uff27\013\uff27\014\uff27\015" +
-    "\uff27\016\uff27\017\uff27\020\uff27\021\uff27\022\uff27\023\uff27" +
-    "\024\uff27\025\uff27\032\uff27\035\uff27\053\uff27\054\uff27\055" +
-    "\uff27\056\uff27\057\uff27\060\uff27\061\uff27\062\uff27\063\uff27" +
-    "\064\uff27\065\uff27\066\uff27\067\uff27\071\uff27\073\uff27\074" +
-    "\uff27\075\uff27\077\uff27\100\uff27\101\uff27\102\uff27\107\uff27" +
-    "\110\uff27\111\uff27\001\002\000\134\002\uff25\004\uff25\005" +
-    "\uff25\006\uff25\007\uff25\010\uff25\011\uff25\012\uff25\013\uff25" +
-    "\014\uff25\015\uff25\016\uff25\017\uff25\020\uff25\021\uff25\022" +
-    "\uff25\023\uff25\024\uff25\025\uff25\032\uff25\035\uff25\053\uff25" +
-    "\054\uff25\055\uff25\056\uff25\057\uff25\060\uff25\061\uff25\062" +
-    "\uff25\063\uff25\064\uff25\065\uff25\066\uff25\067\uff25\071\uff25" +
-    "\073\uff25\074\uff25\075\uff25\077\uff25\100\uff25\101\uff25\102" +
-    "\uff25\107\uff25\110\uff25\111\uff25\001\002\000\134\002\uff42" +
-    "\004\uff42\005\uff42\006\uff42\007\uff42\010\uff42\011\uff42\012" +
-    "\uff42\013\uff42\014\uff42\015\uff42\016\uff42\017\uff42\020\uff42" +
-    "\021\uff42\022\uff42\023\uff42\024\uff42\025\uff42\032\uff42\035" +
-    "\uff42\053\uff42\054\uff42\055\uff42\056\uff42\057\uff42\060\uff42" +
-    "\061\uff42\062\uff42\063\uff42\064\uff42\065\uff42\066\uff42\067" +
-    "\uff42\071\uff42\073\uff42\074\uff42\075\uff42\077\uff42\100\uff42" +
-    "\101\uff42\102\uff42\107\uff42\110\uff42\111\uff42\001\002\000" +
-    "\134\002\uff26\004\uff26\005\uff26\006\uff26\007\uff26\010\uff26" +
-    "\011\uff26\012\uff26\013\uff26\014\uff26\015\uff26\016\uff26\017" +
-    "\uff26\020\uff26\021\uff26\022\uff26\023\uff26\024\uff26\025\uff26" +
-    "\032\uff26\035\uff26\053\uff26\054\uff26\055\uff26\056\uff26\057" +
-    "\uff26\060\uff26\061\uff26\062\uff26\063\uff26\064\uff26\065\uff26" +
-    "\066\uff26\067\uff26\071\uff26\073\uff26\074\uff26\075\uff26\077" +
-    "\uff26\100\uff26\101\uff26\102\uff26\107\uff26\110\uff26\111\uff26" +
-    "\001\002\000\134\002\uff43\004\uff43\005\uff43\006\uff43\007" +
-    "\uff43\010\uff43\011\uff43\012\uff43\013\uff43\014\uff43\015\uff43" +
-    "\016\uff43\017\uff43\020\uff43\021\uff43\022\uff43\023\uff43\024" +
-    "\uff43\025\uff43\032\uff43\035\uff43\053\uff43\054\uff43\055\uff43" +
-    "\056\uff43\057\uff43\060\uff43\061\uff43\062\uff43\063\uff43\064" +
-    "\uff43\065\uff43\066\uff43\067\uff43\071\uff43\073\uff43\074\uff43" +
-    "\075\uff43\077\uff43\100\uff43\101\uff43\102\uff43\107\uff43\110" +
-    "\uff43\111\uff43\001\002\000\134\002\uff36\004\uff36\005\uff36" +
-    "\006\uff36\007\uff36\010\uff36\011\uff36\012\uff36\013\uff36\014" +
-    "\uff36\015\uff36\016\uff36\017\uff36\020\uff36\021\uff36\022\uff36" +
-    "\023\uff36\024\uff36\025\uff36\032\uff36\035\uff36\053\uff36\054" +
-    "\uff36\055\uff36\056\uff36\057\uff36\060\uff36\061\uff36\062\uff36" +
-    "\063\uff36\064\uff36\065\uff36\066\uff36\067\uff36\071\uff36\073" +
-    "\uff36\074\uff36\075\uff36\077\uff36\100\uff36\101\uff36\102\uff36" +
-    "\107\uff36\110\uff36\111\uff36\001\002\000\134\002\uff46\004" +
-    "\uff46\005\uff46\006\uff46\007\uff46\010\uff46\011\uff46\012\uff46" +
-    "\013\uff46\014\uff46\015\uff46\016\uff46\017\uff46\020\uff46\021" +
-    "\uff46\022\uff46\023\uff46\024\uff46\025\uff46\032\uff46\035\uff46" +
-    "\053\uff46\054\uff46\055\uff46\056\uff46\057\uff46\060\uff46\061" +
-    "\uff46\062\uff46\063\uff46\064\uff46\065\uff46\066\uff46\067\uff46" +
-    "\071\uff46\073\uff46\074\uff46\075\uff46\077\uff46\100\uff46\101" +
-    "\uff46\102\uff46\107\uff46\110\uff46\111\uff46\001\002\000\134" +
-    "\002\uff2e\004\uff2e\005\uff2e\006\uff2e\007\uff2e\010\uff2e\011" +
-    "\uff2e\012\uff2e\013\uff2e\014\uff2e\015\uff2e\016\uff2e\017\uff2e" +
-    "\020\uff2e\021\uff2e\022\uff2e\023\uff2e\024\uff2e\025\uff2e\032" +
-    "\uff2e\035\uff2e\053\uff2e\054\uff2e\055\uff2e\056\uff2e\057\uff2e" +
-    "\060\uff2e\061\uff2e\062\uff2e\063\uff2e\064\uff2e\065\uff2e\066" +
-    "\uff2e\067\uff2e\071\uff2e\073\uff2e\074\uff2e\075\uff2e\077\uff2e" +
-    "\100\uff2e\101\uff2e\102\uff2e\107\uff2e\110\uff2e\111\uff2e\001" +
-    "\002\000\134\002\uff2f\004\uff2f\005\uff2f\006\uff2f\007\uff2f" +
-    "\010\uff2f\011\uff2f\012\uff2f\013\uff2f\014\uff2f\015\uff2f\016" +
-    "\uff2f\017\uff2f\020\uff2f\021\uff2f\022\uff2f\023\uff2f\024\uff2f" +
-    "\025\uff2f\032\uff2f\035\uff2f\053\uff2f\054\uff2f\055\uff2f\056" +
-    "\uff2f\057\uff2f\060\uff2f\061\uff2f\062\uff2f\063\uff2f\064\uff2f" +
-    "\065\uff2f\066\uff2f\067\uff2f\071\uff2f\073\uff2f\074\uff2f\075" +
-    "\uff2f\077\uff2f\100\uff2f\101\uff2f\102\uff2f\107\uff2f\110\uff2f" +
-    "\111\uff2f\001\002\000\134\002\uff44\004\uff44\005\uff44\006" +
-    "\uff44\007\uff44\010\uff44\011\uff44\012\uff44\013\uff44\014\uff44" +
-    "\015\uff44\016\uff44\017\uff44\020\uff44\021\uff44\022\uff44\023" +
-    "\uff44\024\uff44\025\uff44\032\uff44\035\uff44\053\uff44\054\uff44" +
-    "\055\uff44\056\uff44\057\uff44\060\uff44\061\uff44\062\uff44\063" +
-    "\uff44\064\uff44\065\uff44\066\uff44\067\uff44\071\uff44\073\uff44" +
-    "\074\uff44\075\uff44\077\uff44\100\uff44\101\uff44\102\uff44\107" +
-    "\uff44\110\uff44\111\uff44\001\002\000\134\002\uff49\004\uff49" +
-    "\005\uff49\006\uff49\007\uff49\010\uff49\011\uff49\012\uff49\013" +
-    "\uff49\014\uff49\015\uff49\016\uff49\017\uff49\020\uff49\021\uff49" +
-    "\022\uff49\023\uff49\024\uff49\025\uff49\032\uff49\035\uff49\053" +
-    "\uff49\054\uff49\055\uff49\056\uff49\057\uff49\060\uff49\061\uff49" +
-    "\062\uff49\063\uff49\064\uff49\065\uff49\066\uff49\067\uff49\071" +
-    "\uff49\073\uff49\074\uff49\075\uff49\077\uff49\100\uff49\101\uff49" +
-    "\102\uff49\107\uff49\110\uff49\111\uff49\001\002\000\134\002" +
-    "\uff35\004\uff35\005\uff35\006\uff35\007\uff35\010\uff35\011\uff35" +
-    "\012\uff35\013\uff35\014\uff35\015\uff35\016\uff35\017\uff35\020" +
-    "\uff35\021\uff35\022\uff35\023\uff35\024\uff35\025\uff35\032\uff35" +
-    "\035\uff35\053\uff35\054\uff35\055\uff35\056\uff35\057\uff35\060" +
-    "\uff35\061\uff35\062\uff35\063\uff35\064\uff35\065\uff35\066\uff35" +
-    "\067\uff35\071\uff35\073\uff35\074\uff35\075\uff35\077\uff35\100" +
-    "\uff35\101\uff35\102\uff35\107\uff35\110\uff35\111\uff35\001\002" +
-    "\000\134\002\uff19\004\uff19\005\uff19\006\uff19\007\uff19\010" +
-    "\uff19\011\uff19\012\uff19\013\uff19\014\uff19\015\uff19\016\uff19" +
-    "\017\uff19\020\uff19\021\uff19\022\uff19\023\uff19\024\uff19\025" +
-    "\uff19\032\uff19\035\uff19\053\uff19\054\uff19\055\uff19\056\uff19" +
-    "\057\uff19\060\uff19\061\uff19\062\uff19\063\uff19\064\uff19\065" +
-    "\uff19\066\uff19\067\uff19\071\uff19\073\uff19\074\uff19\075\uff19" +
-    "\077\uff19\100\uff19\101\uff19\102\uff19\107\uff19\110\uff19\111" +
-    "\uff19\001\002\000\134\002\uff3c\004\uff3c\005\uff3c\006\uff3c" +
-    "\007\uff3c\010\uff3c\011\uff3c\012\uff3c\013\uff3c\014\uff3c\015" +
-    "\uff3c\016\uff3c\017\uff3c\020\uff3c\021\uff3c\022\uff3c\023\uff3c" +
-    "\024\uff3c\025\uff3c\032\uff3c\035\uff3c\053\uff3c\054\uff3c\055" +
-    "\uff3c\056\uff3c\057\uff3c\060\uff3c\061\uff3c\062\uff3c\063\uff3c" +
-    "\064\uff3c\065\uff3c\066\uff3c\067\uff3c\071\uff3c\073\uff3c\074" +
-    "\uff3c\075\uff3c\077\uff3c\100\uff3c\101\uff3c\102\uff3c\107\uff3c" +
-    "\110\uff3c\111\uff3c\001\002\000\134\002\uff3b\004\uff3b\005" +
-    "\uff3b\006\uff3b\007\uff3b\010\uff3b\011\uff3b\012\uff3b\013\uff3b" +
-    "\014\uff3b\015\uff3b\016\uff3b\017\uff3b\020\uff3b\021\uff3b\022" +
-    "\uff3b\023\uff3b\024\uff3b\025\uff3b\032\uff3b\035\uff3b\053\uff3b" +
-    "\054\uff3b\055\uff3b\056\uff3b\057\uff3b\060\uff3b\061\uff3b\062" +
-    "\uff3b\063\uff3b\064\uff3b\065\uff3b\066\uff3b\067\uff3b\071\uff3b" +
-    "\073\uff3b\074\uff3b\075\uff3b\077\uff3b\100\uff3b\101\uff3b\102" +
-    "\uff3b\107\uff3b\110\uff3b\111\uff3b\001\002\000\134\002\uff3e" +
-    "\004\uff3e\005\uff3e\006\uff3e\007\uff3e\010\uff3e\011\uff3e\012" +
-    "\uff3e\013\uff3e\014\uff3e\015\uff3e\016\uff3e\017\uff3e\020\uff3e" +
-    "\021\uff3e\022\uff3e\023\uff3e\024\uff3e\025\uff3e\032\uff3e\035" +
-    "\uff3e\053\uff3e\054\uff3e\055\uff3e\056\uff3e\057\uff3e\060\uff3e" +
-    "\061\uff3e\062\uff3e\063\uff3e\064\uff3e\065\uff3e\066\uff3e\067" +
-    "\uff3e\071\uff3e\073\uff3e\074\uff3e\075\uff3e\077\uff3e\100\uff3e" +
-    "\101\uff3e\102\uff3e\107\uff3e\110\uff3e\111\uff3e\001\002\000" +
-    "\134\002\uff3a\004\uff3a\005\uff3a\006\uff3a\007\uff3a\010\uff3a" +
-    "\011\uff3a\012\uff3a\013\uff3a\014\uff3a\015\uff3a\016\uff3a\017" +
-    "\uff3a\020\uff3a\021\uff3a\022\uff3a\023\uff3a\024\uff3a\025\uff3a" +
-    "\032\uff3a\035\uff3a\053\uff3a\054\uff3a\055\uff3a\056\uff3a\057" +
-    "\uff3a\060\uff3a\061\uff3a\062\uff3a\063\uff3a\064\uff3a\065\uff3a" +
-    "\066\uff3a\067\uff3a\071\uff3a\073\uff3a\074\uff3a\075\uff3a\077" +
-    "\uff3a\100\uff3a\101\uff3a\102\uff3a\107\uff3a\110\uff3a\111\uff3a" +
-    "\001\002\000\134\002\uff29\004\uff29\005\uff29\006\uff29\007" +
-    "\uff29\010\uff29\011\uff29\012\uff29\013\uff29\014\uff29\015\uff29" +
-    "\016\uff29\017\uff29\020\uff29\021\uff29\022\uff29\023\uff29\024" +
-    "\uff29\025\uff29\032\uff29\035\uff29\053\uff29\054\uff29\055\uff29" +
-    "\056\uff29\057\uff29\060\uff29\061\uff29\062\uff29\063\uff29\064" +
-    "\uff29\065\uff29\066\uff29\067\uff29\071\uff29\073\uff29\074\uff29" +
-    "\075\uff29\077\uff29\100\uff29\101\uff29\102\uff29\107\uff29\110" +
-    "\uff29\111\uff29\001\002\000\134\002\uff2c\004\uff2c\005\uff2c" +
-    "\006\uff2c\007\uff2c\010\uff2c\011\uff2c\012\uff2c\013\uff2c\014" +
-    "\uff2c\015\uff2c\016\uff2c\017\uff2c\020\uff2c\021\uff2c\022\uff2c" +
-    "\023\uff2c\024\uff2c\025\uff2c\032\uff2c\035\uff2c\053\uff2c\054" +
-    "\uff2c\055\uff2c\056\uff2c\057\uff2c\060\uff2c\061\uff2c\062\uff2c" +
-    "\063\uff2c\064\uff2c\065\uff2c\066\uff2c\067\uff2c\071\uff2c\073" +
-    "\uff2c\074\uff2c\075\uff2c\077\uff2c\100\uff2c\101\uff2c\102\uff2c" +
-    "\107\uff2c\110\uff2c\111\uff2c\001\002\000\134\002\uff48\004" +
-    "\uff48\005\uff48\006\uff48\007\uff48\010\uff48\011\uff48\012\uff48" +
-    "\013\uff48\014\uff48\015\uff48\016\uff48\017\uff48\020\uff48\021" +
-    "\uff48\022\uff48\023\uff48\024\uff48\025\uff48\032\uff48\035\uff48" +
-    "\053\uff48\054\uff48\055\uff48\056\uff48\057\uff48\060\uff48\061" +
-    "\uff48\062\uff48\063\uff48\064\uff48\065\uff48\066\uff48\067\uff48" +
-    "\071\uff48\073\uff48\074\uff48\075\uff48\077\uff48\100\uff48\101" +
-    "\uff48\102\uff48\107\uff48\110\uff48\111\uff48\001\002\000\134" +
-    "\002\uff34\004\uff34\005\uff34\006\uff34\007\uff34\010\uff34\011" +
-    "\uff34\012\uff34\013\uff34\014\uff34\015\uff34\016\uff34\017\uff34" +
-    "\020\uff34\021\uff34\022\uff34\023\uff34\024\uff34\025\uff34\032" +
-    "\uff34\035\uff34\053\uff34\054\uff34\055\uff34\056\uff34\057\uff34" +
-    "\060\uff34\061\uff34\062\uff34\063\uff34\064\uff34\065\uff34\066" +
-    "\uff34\067\uff34\071\uff34\073\uff34\074\uff34\075\uff34\077\uff34" +
-    "\100\uff34\101\uff34\102\uff34\107\uff34\110\uff34\111\uff34\001" +
-    "\002\000\134\002\uff37\004\uff37\005\uff37\006\uff37\007\uff37" +
-    "\010\uff37\011\uff37\012\uff37\013\uff37\014\uff37\015\uff37\016" +
-    "\uff37\017\uff37\020\uff37\021\uff37\022\uff37\023\uff37\024\uff37" +
-    "\025\uff37\032\uff37\035\uff37\053\uff37\054\uff37\055\uff37\056" +
-    "\uff37\057\uff37\060\uff37\061\uff37\062\uff37\063\uff37\064\uff37" +
-    "\065\uff37\066\uff37\067\uff37\071\uff37\073\uff37\074\uff37\075" +
-    "\uff37\077\uff37\100\uff37\101\uff37\102\uff37\107\uff37\110\uff37" +
-    "\111\uff37\001\002\000\134\002\uff2a\004\uff2a\005\uff2a\006" +
-    "\uff2a\007\uff2a\010\uff2a\011\uff2a\012\uff2a\013\uff2a\014\uff2a" +
-    "\015\uff2a\016\uff2a\017\uff2a\020\uff2a\021\uff2a\022\uff2a\023" +
-    "\uff2a\024\uff2a\025\uff2a\032\uff2a\035\uff2a\053\uff2a\054\uff2a" +
-    "\055\uff2a\056\uff2a\057\uff2a\060\uff2a\061\uff2a\062\uff2a\063" +
-    "\uff2a\064\uff2a\065\uff2a\066\uff2a\067\uff2a\071\uff2a\073\uff2a" +
-    "\074\uff2a\075\uff2a\077\uff2a\100\uff2a\101\uff2a\102\uff2a\107" +
-    "\uff2a\110\uff2a\111\uff2a\001\002\000\134\002\uff3f\004\uff3f" +
-    "\005\uff3f\006\uff3f\007\uff3f\010\uff3f\011\uff3f\012\uff3f\013" +
-    "\uff3f\014\uff3f\015\uff3f\016\uff3f\017\uff3f\020\uff3f\021\uff3f" +
-    "\022\uff3f\023\uff3f\024\uff3f\025\uff3f\032\uff3f\035\uff3f\053" +
-    "\uff3f\054\uff3f\055\uff3f\056\uff3f\057\uff3f\060\uff3f\061\uff3f" +
-    "\062\uff3f\063\uff3f\064\uff3f\065\uff3f\066\uff3f\067\uff3f\071" +
-    "\uff3f\073\uff3f\074\uff3f\075\uff3f\077\uff3f\100\uff3f\101\uff3f" +
-    "\102\uff3f\107\uff3f\110\uff3f\111\uff3f\001\002\000\134\002" +
-    "\uff41\004\uff41\005\uff41\006\uff41\007\uff41\010\uff41\011\uff41" +
-    "\012\uff41\013\uff41\014\uff41\015\uff41\016\uff41\017\uff41\020" +
-    "\uff41\021\uff41\022\uff41\023\uff41\024\uff41\025\uff41\032\uff41" +
-    "\035\uff41\053\uff41\054\uff41\055\uff41\056\uff41\057\uff41\060" +
-    "\uff41\061\uff41\062\uff41\063\uff41\064\uff41\065\uff41\066\uff41" +
-    "\067\uff41\071\uff41\073\uff41\074\uff41\075\uff41\077\uff41\100" +
-    "\uff41\101\uff41\102\uff41\107\uff41\110\uff41\111\uff41\001\002" +
-    "\000\134\002\uff39\004\uff39\005\uff39\006\uff39\007\uff39\010" +
-    "\uff39\011\uff39\012\uff39\013\uff39\014\uff39\015\uff39\016\uff39" +
-    "\017\uff39\020\uff39\021\uff39\022\uff39\023\uff39\024\uff39\025" +
-    "\uff39\032\uff39\035\uff39\053\uff39\054\uff39\055\uff39\056\uff39" +
-    "\057\uff39\060\uff39\061\uff39\062\uff39\063\uff39\064\uff39\065" +
-    "\uff39\066\uff39\067\uff39\071\uff39\073\uff39\074\uff39\075\uff39" +
-    "\077\uff39\100\uff39\101\uff39\102\uff39\107\uff39\110\uff39\111" +
-    "\uff39\001\002\000\130\002\uff66\004\uff66\005\uff66\007\uff66" +
-    "\010\uff66\011\uff66\012\uff66\013\uff66\014\uff66\015\uff66\016" +
-    "\uff66\017\uff66\020\uff66\021\uff66\022\uff66\023\uff66\024\uff66" +
-    "\025\uff66\032\uff66\035\uff66\053\uff66\054\uff66\055\uff66\056" +
-    "\uff66\057\uff66\060\uff66\061\uff66\062\uff66\063\uff66\064\uff66" +
-    "\065\uff66\066\uff66\067\uff66\071\uff66\073\uff66\074\uff66\075" +
-    "\uff66\100\uff66\101\uff66\102\uff66\107\uff66\110\uff66\111\uff66" +
-    "\001\002\000\130\002\uff67\004\uff67\005\uff67\007\uff67\010" +
-    "\uff67\011\uff67\012\uff67\013\uff67\014\uff67\015\uff67\016\uff67" +
-    "\017\uff67\020\uff67\021\uff67\022\uff67\023\uff67\024\uff67\025" +
-    "\uff67\032\uff67\035\uff67\053\uff67\054\uff67\055\uff67\056\uff67" +
-    "\057\uff67\060\uff67\061\uff67\062\uff67\063\uff67\064\uff67\065" +
-    "\uff67\066\uff67\067\uff67\071\uff67\073\uff67\074\uff67\075\uff67" +
-    "\100\uff67\101\uff67\102\uff67\107\uff67\110\uff67\111\uff67\001" +
-    "\002\000\146\012\233\036\327\037\343\040\252\041\346" +
-    "\042\341\043\337\044\365\045\325\046\364\047\354\050" +
-    "\322\051\352\052\353\061\340\062\336\063\351\064\355" +
-    "\065\366\066\321\067\362\070\342\071\350\073\361\074" +
-    "\320\075\332\076\326\077\334\100\345\101\344\102\360" +
-    "\103\323\104\357\105\204\106\363\107\356\110\331\111" +
-    "\335\112\132\113\126\114\253\115\247\116\251\117\227" +
-    "\120\234\121\230\122\245\123\235\124\153\131\347\001" +
-    "\002\000\134\002\uff4d\004\uff4d\005\uff4d\006\uff4d\007\uff4d" +
-    "\010\uff4d\011\uff4d\012\uff4d\013\uff4d\014\uff4d\015\uff4d\016" +
-    "\uff4d\017\uff4d\020\uff4d\021\uff4d\022\uff4d\023\uff4d\024\uff4d" +
-    "\025\uff4d\032\uff4d\035\uff4d\053\uff4d\054\uff4d\055\uff4d\056" +
-    "\uff4d\057\uff4d\060\uff4d\061\uff4d\062\uff4d\063\uff4d\064\uff4d" +
-    "\065\uff4d\066\uff4d\067\uff4d\071\uff4d\073\uff4d\074\uff4d\075" +
-    "\uff4d\077\uff4d\100\uff4d\101\uff4d\102\uff4d\107\uff4d\110\uff4d" +
-    "\111\uff4d\001\002\000\134\002\uff4b\004\uff4b\005\uff4b\006" +
-    "\uff4b\007\uff4b\010\uff4b\011\uff4b\012\uff4b\013\uff4b\014\uff4b" +
-    "\015\uff4b\016\uff4b\017\uff4b\020\uff4b\021\uff4b\022\uff4b\023" +
-    "\uff4b\024\uff4b\025\uff4b\032\uff4b\035\uff4b\053\uff4b\054\uff4b" +
-    "\055\uff4b\056\uff4b\057\uff4b\060\uff4b\061\uff4b\062\uff4b\063" +
-    "\uff4b\064\uff4b\065\uff4b\066\uff4b\067\uff4b\071\uff4b\073\uff4b" +
-    "\074\uff4b\075\uff4b\077\uff4b\100\uff4b\101\uff4b\102\uff4b\107" +
-    "\uff4b\110\uff4b\111\uff4b\001\002\000\120\002\uffd0\005\uffd0" +
-    "\007\uffd0\010\uffd0\011\uffd0\012\uffd0\013\uffd0\014\uffd0\015" +
-    "\uffd0\016\uffd0\017\uffd0\020\uffd0\021\uffd0\022\uffd0\023\uffd0" +
-    "\032\uffd0\053\uffd0\054\uffd0\055\uffd0\056\uffd0\057\uffd0\060" +
-    "\uffd0\061\uffd0\062\uffd0\063\uffd0\064\uffd0\065\uffd0\066\uffd0" +
-    "\067\uffd0\071\uffd0\073\uffd0\074\uffd0\075\uffd0\100\uffd0\101" +
-    "\uffd0\102\uffd0\107\uffd0\110\uffd0\111\uffd0\001\002\000\170" +
-    "\006\101\012\107\027\070\030\117\033\071\034\120\036" +
-    "\040\037\156\040\145\041\045\042\004\043\041\044\010" +
-    "\045\020\046\012\047\031\050\110\051\066\052\061\061" +
-    "\111\062\077\063\067\064\102\065\125\066\072\067\050" +
-    "\070\155\071\023\073\133\074\154\075\135\076\203\077" +
-    "\142\100\113\101\171\102\175\103\205\104\201\105\204" +
-    "\106\052\107\114\110\173\111\143\112\132\113\126\114" +
-    "\024\115\016\116\047\117\124\120\141\121\056\122\051" +
-    "\123\055\124\153\125\034\126\035\127\104\130\167\131" +
-    "\123\001\002\000\170\006\101\012\107\027\070\030\117" +
-    "\033\071\034\120\036\040\037\156\040\145\041\045\042" +
-    "\004\043\041\044\010\045\020\046\012\047\031\050\110" +
-    "\051\066\052\061\061\111\062\077\063\067\064\102\065" +
-    "\125\066\072\067\050\070\155\071\023\073\133\074\154" +
-    "\075\135\076\203\077\142\100\113\101\171\102\175\103" +
-    "\205\104\201\105\204\106\052\107\114\110\173\111\143" +
-    "\112\132\113\126\114\024\115\016\116\047\117\124\120" +
-    "\141\121\056\122\051\123\055\124\153\125\034\126\035" +
-    "\127\104\130\167\131\123\001\002\000\124\002\uffb8\005" +
-    "\uffb8\007\uffb8\010\uffb8\011\uffb8\012\uffb8\013\uffb8\014\uffb8" +
-    "\015\uffb8\016\uffb8\017\uffb8\020\uffb8\021\uffb8\022\uffb8\023" +
-    "\uffb8\024\uffb8\025\uffb8\032\uffb8\053\uffb8\054\uffb8\055\uffb8" +
-    "\056\uffb8\057\uffb8\060\uffb8\061\uffb8\062\uffb8\063\uffb8\064" +
-    "\uffb8\065\uffb8\066\uffb8\067\uffb8\071\uffb8\073\uffb8\074\uffb8" +
-    "\075\uffb8\100\uffb8\101\uffb8\102\uffb8\107\uffb8\110\uffb8\111" +
-    "\uffb8\001\002\000\124\002\uffb9\005\uffb9\007\uffb9\010\uffb9" +
-    "\011\uffb9\012\uffb9\013\uffb9\014\uffb9\015\uffb9\016\uffb9\017" +
-    "\uffb9\020\uffb9\021\uffb9\022\uffb9\023\uffb9\024\uffb9\025\uffb9" +
-    "\032\uffb9\053\uffb9\054\uffb9\055\uffb9\056\uffb9\057\uffb9\060" +
-    "\uffb9\061\uffb9\062\uffb9\063\uffb9\064\uffb9\065\uffb9\066\uffb9" +
-    "\067\uffb9\071\uffb9\073\uffb9\074\uffb9\075\uffb9\100\uffb9\101" +
-    "\uffb9\102\uffb9\107\uffb9\110\uffb9\111\uffb9\001\002\000\200" +
-    "\006\101\010\076\011\134\012\107\024\022\025\006\027" +
-    "\070\030\117\033\071\034\120\036\040\037\156\040\145" +
-    "\041\045\042\004\043\041\044\010\045\020\046\012\047" +
-    "\031\050\110\051\066\052\061\061\111\062\077\063\067" +
-    "\064\102\065\125\066\072\067\050\070\155\071\023\073" +
-    "\133\074\154\075\135\076\203\077\142\100\113\101\171" +
-    "\102\175\103\205\104\201\105\204\106\052\107\114\110" +
-    "\173\111\143\112\132\113\126\114\024\115\016\116\047" +
-    "\117\124\120\141\121\056\122\051\123\055\124\153\125" +
-    "\034\126\035\127\104\130\167\131\123\001\002\000\200" +
-    "\006\101\010\076\011\134\012\107\024\022\025\006\027" +
-    "\070\030\117\033\071\034\120\036\040\037\156\040\145" +
-    "\041\045\042\004\043\041\044\010\045\020\046\012\047" +
-    "\031\050\110\051\066\052\061\061\111\062\077\063\067" +
-    "\064\102\065\125\066\072\067\050\070\155\071\023\073" +
-    "\133\074\154\075\135\076\203\077\142\100\113\101\171" +
-    "\102\175\103\205\104\201\105\204\106\052\107\114\110" +
-    "\173\111\143\112\132\113\126\114\024\115\016\116\047" +
-    "\117\124\120\141\121\056\122\051\123\055\124\153\125" +
-    "\034\126\035\127\104\130\167\131\123\001\002\000\200" +
-    "\006\101\010\076\011\134\012\107\024\022\025\006\027" +
-    "\070\030\117\033\071\034\120\036\040\037\156\040\145" +
-    "\041\045\042\004\043\041\044\010\045\020\046\012\047" +
-    "\031\050\110\051\066\052\061\061\111\062\077\063\067" +
-    "\064\102\065\125\066\072\067\050\070\155\071\023\073" +
-    "\133\074\154\075\135\076\203\077\142\100\113\101\171" +
-    "\102\175\103\205\104\201\105\204\106\052\107\114\110" +
-    "\173\111\143\112\132\113\126\114\024\115\016\116\047" +
-    "\117\124\120\141\121\056\122\051\123\055\124\153\125" +
-    "\034\126\035\127\104\130\167\131\123\001\002\000\200" +
-    "\006\101\010\076\011\134\012\107\024\022\025\006\027" +
-    "\070\030\117\033\071\034\120\036\040\037\156\040\145" +
-    "\041\045\042\004\043\041\044\010\045\020\046\012\047" +
-    "\031\050\110\051\066\052\061\061\111\062\077\063\067" +
-    "\064\102\065\125\066\072\067\050\070\155\071\023\073" +
-    "\133\074\154\075\135\076\203\077\142\100\113\101\171" +
-    "\102\175\103\205\104\201\105\204\106\052\107\114\110" +
-    "\173\111\143\112\132\113\126\114\024\115\016\116\047" +
-    "\117\124\120\141\121\056\122\051\123\055\124\153\125" +
-    "\034\126\035\127\104\130\167\131\123\001\002\000\104" +
-    "\002\uffe1\005\uffe1\007\uffe1\010\uffe1\011\uffe1\012\uffe1\013" +
-    "\u0107\014\uffe1\015\uffe1\016\uffe1\017\uffe1\020\uffe1\021\uffe1" +
-    "\022\uffe1\023\uffe1\032\uffe1\053\uffe1\054\uffe1\055\uffe1\056" +
-    "\uffe1\057\uffe1\060\uffe1\061\uffe1\062\uffe1\063\uffe1\064\u0106" +
-    "\075\uffe1\100\uffe1\101\uffe1\102\uffe1\107\uffe1\110\uffe1\111" +
-    "\uffe1\001\002\000\200\006\101\010\076\011\134\012\107" +
-    "\024\022\025\006\027\070\030\117\033\071\034\120\036" +
-    "\040\037\156\040\145\041\045\042\004\043\041\044\010" +
-    "\045\020\046\012\047\031\050\110\051\066\052\061\061" +
-    "\111\062\077\063\067\064\102\065\125\066\072\067\050" +
-    "\070\155\071\023\073\133\074\154\075\135\076\203\077" +
-    "\142\100\113\101\171\102\175\103\205\104\201\105\204" +
-    "\106\052\107\114\110\173\111\143\112\132\113\126\114" +
-    "\024\115\016\116\047\117\124\120\141\121\056\122\051" +
-    "\123\055\124\153\125\034\126\035\127\104\130\167\131" +
-    "\123\001\002\000\200\006\101\010\076\011\134\012\107" +
-    "\024\022\025\006\027\070\030\117\033\071\034\120\036" +
-    "\040\037\156\040\145\041\045\042\004\043\041\044\010" +
-    "\045\020\046\012\047\031\050\110\051\066\052\061\061" +
-    "\111\062\077\063\067\064\102\065\125\066\072\067\050" +
-    "\070\155\071\023\073\133\074\154\075\135\076\203\077" +
-    "\142\100\113\101\171\102\175\103\205\104\201\105\204" +
-    "\106\052\107\114\110\173\111\143\112\132\113\126\114" +
-    "\024\115\016\116\047\117\124\120\141\121\056\122\051" +
-    "\123\055\124\153\125\034\126\035\127\104\130\167\131" +
-    "\123\001\002\000\110\002\uffdd\005\uffdd\007\uffdd\010\uffdd" +
-    "\011\uffdd\012\uffdd\013\uffdd\014\uffdd\015\uffdd\016\uffdd\017" +
-    "\uffdd\020\uffdd\021\uffdd\022\uffdd\023\uffdd\032\uffdd\053\uffdd" +
-    "\054\uffdd\055\uffdd\056\uffdd\057\uffdd\060\uffdd\061\uffdd\062" +
-    "\uffdd\063\uffdd\064\uffdd\065\207\066\206\075\uffdd\100\uffdd" +
-    "\101\uffdd\102\uffdd\107\uffdd\110\uffdd\111\uffdd\001\002\000" +
-    "\110\002\uffde\005\uffde\007\uffde\010\uffde\011\uffde\012\uffde" +
-    "\013\uffde\014\uffde\015\uffde\016\uffde\017\uffde\020\uffde\021" +
-    "\uffde\022\uffde\023\uffde\032\uffde\053\uffde\054\uffde\055\uffde" +
-    "\056\uffde\057\uffde\060\uffde\061\uffde\062\uffde\063\uffde\064" +
-    "\uffde\065\207\066\206\075\uffde\100\uffde\101\uffde\102\uffde" +
-    "\107\uffde\110\uffde\111\uffde\001\002\000\104\002\uffe2\005" +
-    "\uffe2\007\uffe2\010\uffe2\011\uffe2\012\uffe2\013\u0107\014\uffe2" +
-    "\015\uffe2\016\uffe2\017\uffe2\020\uffe2\021\uffe2\022\uffe2\023" +
-    "\uffe2\032\uffe2\053\uffe2\054\uffe2\055\uffe2\056\uffe2\057\uffe2" +
-    "\060\uffe2\061\uffe2\062\uffe2\063\uffe2\064\u0106\075\uffe2\100" +
-    "\uffe2\101\uffe2\102\uffe2\107\uffe2\110\uffe2\111\uffe2\001\002" +
-    "\000\104\002\uffe0\005\uffe0\007\uffe0\010\uffe0\011\uffe0\012" +
-    "\uffe0\013\u0107\014\uffe0\015\uffe0\016\uffe0\017\uffe0\020\uffe0" +
-    "\021\uffe0\022\uffe0\023\uffe0\032\uffe0\053\uffe0\054\uffe0\055" +
-    "\uffe0\056\uffe0\057\uffe0\060\uffe0\061\uffe0\062\uffe0\063\uffe0" +
-    "\064\u0106\075\uffe0\100\uffe0\101\uffe0\102\uffe0\107\uffe0\110" +
-    "\uffe0\111\uffe0\001\002\000\104\002\uffe3\005\uffe3\007\uffe3" +
-    "\010\uffe3\011\uffe3\012\uffe3\013\u0107\014\uffe3\015\uffe3\016" +
-    "\uffe3\017\uffe3\020\uffe3\021\uffe3\022\uffe3\023\uffe3\032\uffe3" +
-    "\053\uffe3\054\uffe3\055\uffe3\056\uffe3\057\uffe3\060\uffe3\061" +
-    "\uffe3\062\uffe3\063\uffe3\064\u0106\075\uffe3\100\uffe3\101\uffe3" +
-    "\102\uffe3\107\uffe3\110\uffe3\111\uffe3\001\002\000\004\007" +
-    "\u010e\001\002\000\130\002\uff69\004\uff69\005\uff69\007\uff69" +
-    "\010\uff69\011\uff69\012\uff69\013\uff69\014\uff69\015\uff69\016" +
-    "\uff69\017\uff69\020\uff69\021\uff69\022\uff69\023\uff69\024\uff69" +
-    "\025\uff69\032\uff69\035\uff69\053\uff69\054\uff69\055\uff69\056" +
-    "\uff69\057\uff69\060\uff69\061\uff69\062\uff69\063\uff69\064\uff69" +
-    "\065\uff69\066\uff69\067\uff69\071\uff69\073\uff69\074\uff69\075" +
-    "\uff69\100\uff69\101\uff69\102\uff69\107\uff69\110\uff69\111\uff69" +
-    "\001\002\000\146\012\uffa3\036\uffa3\037\uffa3\040\uffa3\041" +
-    "\uffa3\042\uffa3\043\uffa3\044\uffa3\045\uffa3\046\uffa3\047\uffa3" +
-    "\050\uffa3\051\uffa3\052\uffa3\061\uffa3\062\uffa3\063\uffa3\064" +
-    "\uffa3\065\uffa3\066\uffa3\067\uffa3\070\uffa3\071\uffa3\073\uffa3" +
-    "\074\uffa3\075\uffa3\076\uffa3\077\uffa3\100\uffa3\101\uffa3\102" +
-    "\uffa3\103\uffa3\104\uffa3\105\uffa3\106\uffa3\107\uffa3\110\uffa3" +
-    "\111\uffa3\112\uffa3\113\uffa3\114\uffa3\115\uffa3\116\uffa3\117" +
-    "\uffa3\120\uffa3\121\uffa3\122\uffa3\123\uffa3\124\uffa3\131\uffa3" +
-    "\001\002\000\146\012\233\036\327\037\343\040\252\041" +
-    "\346\042\341\043\337\044\365\045\325\046\364\047\354" +
-    "\050\322\051\352\052\353\061\340\062\336\063\351\064" +
-    "\355\065\366\066\321\067\362\070\342\071\350\073\361" +
-    "\074\320\075\332\076\326\077\334\100\345\101\344\102" +
-    "\360\103\323\104\357\105\204\106\363\107\356\110\331" +
-    "\111\335\112\132\113\126\114\253\115\247\116\251\117" +
-    "\227\120\234\121\230\122\245\123\235\124\153\131\347" +
-    "\001\002\000\126\002\uff9a\004\uff9a\005\uff9a\007\uff9a\010" +
-    "\uff9a\011\uff9a\012\uff9a\013\uff9a\014\uff9a\015\uff9a\016\uff9a" +
-    "\017\uff9a\020\uff9a\021\uff9a\022\uff9a\023\uff9a\024\uff9a\025" +
-    "\uff9a\032\uff9a\053\uff9a\054\uff9a\055\uff9a\056\uff9a\057\uff9a" +
-    "\060\uff9a\061\uff9a\062\uff9a\063\uff9a\064\uff9a\065\uff9a\066" +
-    "\uff9a\067\uff9a\071\uff9a\073\uff9a\074\uff9a\075\uff9a\100\uff9a" +
-    "\101\uff9a\102\uff9a\107\uff9a\110\uff9a\111\uff9a\001\002\000" +
-    "\146\012\233\036\232\037\240\040\252\041\241\042\237" +
-    "\043\236\044\250\045\226\046\246\047\244\050\225\051" +
-    "\242\052\243\061\111\062\077\063\067\064\102\065\125" +
-    "\066\072\067\050\070\155\071\023\073\133\074\154\075" +
-    "\135\076\203\077\142\100\113\101\171\102\175\103\205" +
-    "\104\201\105\204\106\052\107\114\110\173\111\143\112" +
-    "\132\113\126\114\253\115\247\116\251\117\227\120\234" +
-    "\121\230\122\245\123\235\124\153\131\123\001\002\000" +
-    "\004\077\u0114\001\002\000\200\006\101\010\076\011\134" +
-    "\012\107\024\022\025\006\027\070\030\117\033\071\034" +
-    "\120\036\040\037\156\040\145\041\045\042\004\043\041" +
-    "\044\010\045\020\046\012\047\031\050\110\051\066\052" +
-    "\061\061\111\062\077\063\067\064\102\065\125\066\072" +
-    "\067\050\070\155\071\023\073\133\074\154\075\135\076" +
-    "\106\077\142\100\113\101\171\102\175\103\157\104\046" +
-    "\105\147\106\052\107\114\110\173\111\143\112\132\113" +
-    "\126\114\024\115\016\116\047\117\124\120\141\121\056" +
-    "\122\051\123\055\124\153\125\034\126\035\127\104\130" +
-    "\167\131\123\001\002\000\006\032\ufff8\100\ufff8\001\002" +
-    "\000\202\006\101\007\u0119\010\076\011\134\012\107\024" +
-    "\022\025\006\027\070\030\117\033\071\034\120\036\040" +
-    "\037\156\040\145\041\045\042\004\043\041\044\010\045" +
-    "\020\046\012\047\031\050\110\051\066\052\061\061\111" +
-    "\062\077\063\067\064\102\065\125\066\072\067\050\070" +
-    "\155\071\023\073\133\074\154\075\135\076\106\077\142" +
-    "\100\113\101\171\102\175\103\157\104\046\105\147\106" +
-    "\052\107\114\110\173\111\143\112\132\113\126\114\024" +
-    "\115\016\116\047\117\124\120\141\121\056\122\051\123" +
-    "\055\124\153\125\034\126\035\127\104\130\167\131\123" +
-    "\001\002\000\006\007\u011b\032\u011a\001\002\000\006\007" +
-    "\uff85\032\uff85\001\002\000\126\002\uff87\004\uff87\005\uff87" +
-    "\007\uff87\010\uff87\011\uff87\012\uff87\013\uff87\014\uff87\015" +
-    "\uff87\016\uff87\017\uff87\020\uff87\021\uff87\022\uff87\023\uff87" +
-    "\024\uff87\025\uff87\032\uff87\053\uff87\054\uff87\055\uff87\056" +
-    "\uff87\057\uff87\060\uff87\061\uff87\062\uff87\063\uff87\064\uff87" +
-    "\065\uff87\066\uff87\067\uff87\071\uff87\073\uff87\074\uff87\075" +
-    "\uff87\100\uff87\101\uff87\102\uff87\107\uff87\110\uff87\111\uff87" +
-    "\001\002\000\200\006\101\010\076\011\134\012\107\024" +
-    "\022\025\006\027\070\030\117\033\071\034\120\036\040" +
-    "\037\156\040\145\041\045\042\004\043\041\044\010\045" +
-    "\020\046\012\047\031\050\110\051\066\052\061\061\111" +
-    "\062\077\063\067\064\102\065\125\066\072\067\050\070" +
-    "\155\071\023\073\133\074\154\075\135\076\106\077\142" +
-    "\100\113\101\171\102\175\103\157\104\046\105\147\106" +
-    "\052\107\114\110\173\111\143\112\132\113\126\114\024" +
-    "\115\016\116\047\117\124\120\141\121\056\122\051\123" +
-    "\055\124\153\125\034\126\035\127\104\130\167\131\123" +
-    "\001\002\000\126\002\uff86\004\uff86\005\uff86\007\uff86\010" +
-    "\uff86\011\uff86\012\uff86\013\uff86\014\uff86\015\uff86\016\uff86" +
-    "\017\uff86\020\uff86\021\uff86\022\uff86\023\uff86\024\uff86\025" +
-    "\uff86\032\uff86\053\uff86\054\uff86\055\uff86\056\uff86\057\uff86" +
-    "\060\uff86\061\uff86\062\uff86\063\uff86\064\uff86\065\uff86\066" +
-    "\uff86\067\uff86\071\uff86\073\uff86\074\uff86\075\uff86\100\uff86" +
-    "\101\uff86\102\uff86\107\uff86\110\uff86\111\uff86\001\002\000" +
-    "\006\007\uff84\032\uff84\001\002\000\006\007\u011f\032\216" +
-    "\001\002\000\126\002\uff8a\004\uff8a\005\uff8a\007\uff8a\010" +
-    "\uff8a\011\uff8a\012\uff8a\013\uff8a\014\uff8a\015\uff8a\016\uff8a" +
-    "\017\uff8a\020\uff8a\021\uff8a\022\uff8a\023\uff8a\024\uff8a\025" +
-    "\uff8a\032\uff8a\053\uff8a\054\uff8a\055\uff8a\056\uff8a\057\uff8a" +
-    "\060\uff8a\061\uff8a\062\uff8a\063\uff8a\064\uff8a\065\uff8a\066" +
-    "\uff8a\067\uff8a\071\uff8a\073\uff8a\074\uff8a\075\uff8a\100\uff8a" +
-    "\101\uff8a\102\uff8a\107\uff8a\110\uff8a\111\uff8a\001\002\000" +
-    "\126\002\uff89\004\uff89\005\uff89\007\uff89\010\uff89\011\uff89" +
-    "\012\uff89\013\uff89\014\uff89\015\uff89\016\uff89\017\uff89\020" +
-    "\uff89\021\uff89\022\uff89\023\uff89\024\uff89\025\uff89\032\uff89" +
-    "\053\uff89\054\uff89\055\uff89\056\uff89\057\uff89\060\uff89\061" +
-    "\uff89\062\uff89\063\uff89\064\uff89\065\uff89\066\uff89\067\uff89" +
-    "\071\uff89\073\uff89\074\uff89\075\uff89\100\uff89\101\uff89\102" +
-    "\uff89\107\uff89\110\uff89\111\uff89\001\002\000\126\002\uffb5" +
-    "\004\214\005\uffb5\007\uffb5\010\uffb5\011\uffb5\012\uffb5\013" +
-    "\uffb5\014\uffb5\015\uffb5\016\uffb5\017\uffb5\020\uffb5\021\uffb5" +
-    "\022\uffb5\023\uffb5\024\uffb5\025\uffb5\032\uffb5\053\uffb5\054" +
-    "\uffb5\055\uffb5\056\uffb5\057\uffb5\060\uffb5\061\uffb5\062\uffb5" +
-    "\063\uffb5\064\uffb5\065\uffb5\066\uffb5\067\uffb5\071\uffb5\073" +
-    "\uffb5\074\uffb5\075\uffb5\100\uffb5\101\uffb5\102\uffb5\107\uffb5" +
-    "\110\uffb5\111\uffb5\001\002\000\120\002\uffcf\005\uffcf\007" +
-    "\uffcf\010\uffcf\011\uffcf\012\uffcf\013\uffcf\014\uffcf\015\uffcf" +
-    "\016\uffcf\017\uffcf\020\uffcf\021\uffcf\022\uffcf\023\uffcf\032" +
-    "\uffcf\053\uffcf\054\uffcf\055\uffcf\056\uffcf\057\uffcf\060\uffcf" +
-    "\061\uffcf\062\uffcf\063\uffcf\064\uffcf\065\uffcf\066\uffcf\067" +
-    "\uffcf\071\uffcf\073\uffcf\074\uffcf\075\uffcf\100\uffcf\101\uffcf" +
-    "\102\uffcf\107\uffcf\110\uffcf\111\uffcf\001\002\000\126\002" +
-    "\uff8b\004\uff8b\005\uff8b\007\uff8b\010\uff8b\011\uff8b\012\uff8b" +
-    "\013\uff8b\014\uff8b\015\uff8b\016\uff8b\017\uff8b\020\uff8b\021" +
-    "\uff8b\022\uff8b\023\uff8b\024\uff8b\025\uff8b\032\uff8b\053\uff8b" +
-    "\054\uff8b\055\uff8b\056\uff8b\057\uff8b\060\uff8b\061\uff8b\062" +
-    "\uff8b\063\uff8b\064\uff8b\065\uff8b\066\uff8b\067\uff8b\071\uff8b" +
-    "\073\uff8b\074\uff8b\075\uff8b\100\uff8b\101\uff8b\102\uff8b\107" +
-    "\uff8b\110\uff8b\111\uff8b\001\002\000\126\002\uffa9\004\uffa9" +
-    "\005\uffa9\007\uffa9\010\uffa9\011\uffa9\012\uffa9\013\uffa9\014" +
-    "\uffa9\015\uffa9\016\uffa9\017\uffa9\020\uffa9\021\uffa9\022\uffa9" +
-    "\023\uffa9\024\uffa9\025\uffa9\032\uffa9\053\uffa9\054\uffa9\055" +
-    "\uffa9\056\uffa9\057\uffa9\060\uffa9\061\uffa9\062\uffa9\063\uffa9" +
-    "\064\uffa9\065\uffa9\066\uffa9\067\uffa9\071\uffa9\073\uffa9\074" +
-    "\uffa9\075\uffa9\100\uffa9\101\uffa9\102\uffa9\107\uffa9\110\uffa9" +
-    "\111\uffa9\001\002\000\006\006\304\031\uff45\001\002\000" +
-    "\126\002\uff9d\004\uff9d\005\uff9d\007\uff9d\010\uff9d\011\uff9d" +
-    "\012\uff9d\013\uff9d\014\uff9d\015\uff9d\016\uff9d\017\uff9d\020" +
-    "\uff9d\021\uff9d\022\uff9d\023\uff9d\024\uff9d\025\uff9d\032\uff9d" +
-    "\053\uff9d\054\uff9d\055\uff9d\056\uff9d\057\uff9d\060\uff9d\061" +
-    "\uff9d\062\uff9d\063\uff9d\064\uff9d\065\uff9d\066\uff9d\067\uff9d" +
-    "\071\uff9d\073\uff9d\074\uff9d\075\uff9d\100\uff9d\101\uff9d\102" +
-    "\uff9d\107\uff9d\110\uff9d\111\uff9d\001\002\000\004\012\u0127" +
-    "\001\002\000\134\002\ufef3\004\ufef3\005\ufef3\006\ufef3\007" +
-    "\ufef3\010\ufef3\011\ufef3\012\ufef3\013\ufef3\014\ufef3\015\ufef3" +
-    "\016\ufef3\017\ufef3\020\ufef3\021\ufef3\022\ufef3\023\ufef3\024" +
-    "\ufef3\025\ufef3\032\ufef3\035\ufef3\053\ufef3\054\ufef3\055\ufef3" +
-    "\056\ufef3\057\ufef3\060\ufef3\061\ufef3\062\ufef3\063\ufef3\064" +
-    "\ufef3\065\ufef3\066\ufef3\067\ufef3\071\ufef3\073\ufef3\074\ufef3" +
-    "\075\ufef3\077\ufef3\100\ufef3\101\ufef3\102\ufef3\107\ufef3\110" +
-    "\ufef3\111\ufef3\001\002\000\146\012\uffa2\036\uffa2\037\uffa2" +
-    "\040\uffa2\041\uffa2\042\uffa2\043\uffa2\044\uffa2\045\uffa2\046" +
-    "\uffa2\047\uffa2\050\uffa2\051\uffa2\052\uffa2\061\uffa2\062\uffa2" +
-    "\063\uffa2\064\uffa2\065\uffa2\066\uffa2\067\uffa2\070\uffa2\071" +
-    "\uffa2\073\uffa2\074\uffa2\075\uffa2\076\uffa2\077\uffa2\100\uffa2" +
-    "\101\uffa2\102\uffa2\103\uffa2\104\uffa2\105\uffa2\106\uffa2\107" +
-    "\uffa2\110\uffa2\111\uffa2\112\uffa2\113\uffa2\114\uffa2\115\uffa2" +
-    "\116\uffa2\117\uffa2\120\uffa2\121\uffa2\122\uffa2\123\uffa2\124" +
-    "\uffa2\131\uffa2\001\002\000\200\006\uffc1\010\uffc1\011\uffc1" +
-    "\012\uffc1\024\uffc1\025\uffc1\027\uffc1\030\uffc1\033\uffc1\034" +
-    "\uffc1\036\uffc1\037\uffc1\040\uffc1\041\uffc1\042\uffc1\043\uffc1" +
-    "\044\uffc1\045\uffc1\046\uffc1\047\uffc1\050\uffc1\051\uffc1\052" +
-    "\uffc1\061\uffc1\062\uffc1\063\uffc1\064\uffc1\065\uffc1\066\uffc1" +
-    "\067\uffc1\070\uffc1\071\uffc1\073\uffc1\074\uffc1\075\uffc1\076" +
-    "\uffc1\077\uffc1\100\uffc1\101\uffc1\102\uffc1\103\uffc1\104\uffc1" +
-    "\105\uffc1\106\uffc1\107\uffc1\110\uffc1\111\uffc1\112\uffc1\113" +
-    "\uffc1\114\uffc1\115\uffc1\116\uffc1\117\uffc1\120\uffc1\121\uffc1" +
-    "\122\uffc1\123\uffc1\124\uffc1\125\uffc1\126\uffc1\127\uffc1\130" +
-    "\uffc1\131\uffc1\001\002\000\200\006\uffc5\010\uffc5\011\uffc5" +
-    "\012\uffc5\024\uffc5\025\uffc5\027\uffc5\030\uffc5\033\uffc5\034" +
-    "\uffc5\036\uffc5\037\uffc5\040\uffc5\041\uffc5\042\uffc5\043\uffc5" +
-    "\044\uffc5\045\uffc5\046\uffc5\047\uffc5\050\uffc5\051\uffc5\052" +
-    "\uffc5\061\uffc5\062\uffc5\063\uffc5\064\uffc5\065\uffc5\066\uffc5" +
-    "\067\uffc5\070\uffc5\071\uffc5\073\uffc5\074\uffc5\075\uffc5\076" +
-    "\uffc5\077\uffc5\100\uffc5\101\uffc5\102\uffc5\103\uffc5\104\uffc5" +
-    "\105\uffc5\106\uffc5\107\uffc5\110\uffc5\111\uffc5\112\uffc5\113" +
-    "\uffc5\114\uffc5\115\uffc5\116\uffc5\117\uffc5\120\uffc5\121\uffc5" +
-    "\122\uffc5\123\uffc5\124\uffc5\125\uffc5\126\uffc5\127\uffc5\130" +
-    "\uffc5\131\uffc5\001\002\000\200\006\uffc6\010\uffc6\011\uffc6" +
-    "\012\uffc6\024\uffc6\025\uffc6\027\uffc6\030\uffc6\033\uffc6\034" +
-    "\uffc6\036\uffc6\037\uffc6\040\uffc6\041\uffc6\042\uffc6\043\uffc6" +
-    "\044\uffc6\045\uffc6\046\uffc6\047\uffc6\050\uffc6\051\uffc6\052" +
-    "\uffc6\061\uffc6\062\uffc6\063\uffc6\064\uffc6\065\uffc6\066\uffc6" +
-    "\067\uffc6\070\uffc6\071\uffc6\073\uffc6\074\uffc6\075\uffc6\076" +
-    "\uffc6\077\uffc6\100\uffc6\101\uffc6\102\uffc6\103\uffc6\104\uffc6" +
-    "\105\uffc6\106\uffc6\107\uffc6\110\uffc6\111\uffc6\112\uffc6\113" +
-    "\uffc6\114\uffc6\115\uffc6\116\uffc6\117\uffc6\120\uffc6\121\uffc6" +
-    "\122\uffc6\123\uffc6\124\uffc6\125\uffc6\126\uffc6\127\uffc6\130" +
-    "\uffc6\131\uffc6\001\002\000\200\006\uffbf\010\uffbf\011\uffbf" +
-    "\012\uffbf\024\uffbf\025\uffbf\027\uffbf\030\uffbf\033\uffbf\034" +
-    "\uffbf\036\uffbf\037\uffbf\040\uffbf\041\uffbf\042\uffbf\043\uffbf" +
-    "\044\uffbf\045\uffbf\046\uffbf\047\uffbf\050\uffbf\051\uffbf\052" +
-    "\uffbf\061\uffbf\062\uffbf\063\uffbf\064\uffbf\065\uffbf\066\uffbf" +
-    "\067\uffbf\070\uffbf\071\uffbf\073\uffbf\074\uffbf\075\uffbf\076" +
-    "\uffbf\077\uffbf\100\uffbf\101\uffbf\102\uffbf\103\uffbf\104\uffbf" +
-    "\105\uffbf\106\uffbf\107\uffbf\110\uffbf\111\uffbf\112\uffbf\113" +
-    "\uffbf\114\uffbf\115\uffbf\116\uffbf\117\uffbf\120\uffbf\121\uffbf" +
-    "\122\uffbf\123\uffbf\124\uffbf\125\uffbf\126\uffbf\127\uffbf\130" +
-    "\uffbf\131\uffbf\001\002\000\200\006\uffc9\010\uffc9\011\uffc9" +
-    "\012\uffc9\024\uffc9\025\uffc9\027\uffc9\030\uffc9\033\uffc9\034" +
-    "\uffc9\036\uffc9\037\uffc9\040\uffc9\041\uffc9\042\uffc9\043\uffc9" +
-    "\044\uffc9\045\uffc9\046\uffc9\047\uffc9\050\uffc9\051\uffc9\052" +
-    "\uffc9\061\uffc9\062\uffc9\063\uffc9\064\uffc9\065\uffc9\066\uffc9" +
-    "\067\uffc9\070\uffc9\071\uffc9\073\uffc9\074\uffc9\075\uffc9\076" +
-    "\uffc9\077\uffc9\100\uffc9\101\uffc9\102\uffc9\103\uffc9\104\uffc9" +
-    "\105\uffc9\106\uffc9\107\uffc9\110\uffc9\111\uffc9\112\uffc9\113" +
-    "\uffc9\114\uffc9\115\uffc9\116\uffc9\117\uffc9\120\uffc9\121\uffc9" +
-    "\122\uffc9\123\uffc9\124\uffc9\125\uffc9\126\uffc9\127\uffc9\130" +
-    "\uffc9\131\uffc9\001\002\000\200\006\uffc3\010\uffc3\011\uffc3" +
-    "\012\uffc3\024\uffc3\025\uffc3\027\uffc3\030\uffc3\033\uffc3\034" +
-    "\uffc3\036\uffc3\037\uffc3\040\uffc3\041\uffc3\042\uffc3\043\uffc3" +
-    "\044\uffc3\045\uffc3\046\uffc3\047\uffc3\050\uffc3\051\uffc3\052" +
-    "\uffc3\061\uffc3\062\uffc3\063\uffc3\064\uffc3\065\uffc3\066\uffc3" +
-    "\067\uffc3\070\uffc3\071\uffc3\073\uffc3\074\uffc3\075\uffc3\076" +
-    "\uffc3\077\uffc3\100\uffc3\101\uffc3\102\uffc3\103\uffc3\104\uffc3" +
-    "\105\uffc3\106\uffc3\107\uffc3\110\uffc3\111\uffc3\112\uffc3\113" +
-    "\uffc3\114\uffc3\115\uffc3\116\uffc3\117\uffc3\120\uffc3\121\uffc3" +
-    "\122\uffc3\123\uffc3\124\uffc3\125\uffc3\126\uffc3\127\uffc3\130" +
-    "\uffc3\131\uffc3\001\002\000\200\006\uffca\010\uffca\011\uffca" +
-    "\012\uffca\024\uffca\025\uffca\027\uffca\030\uffca\033\uffca\034" +
-    "\uffca\036\uffca\037\uffca\040\uffca\041\uffca\042\uffca\043\uffca" +
-    "\044\uffca\045\uffca\046\uffca\047\uffca\050\uffca\051\uffca\052" +
-    "\uffca\061\uffca\062\uffca\063\uffca\064\uffca\065\uffca\066\uffca" +
-    "\067\uffca\070\uffca\071\uffca\073\uffca\074\uffca\075\uffca\076" +
-    "\uffca\077\uffca\100\uffca\101\uffca\102\uffca\103\uffca\104\uffca" +
-    "\105\uffca\106\uffca\107\uffca\110\uffca\111\uffca\112\uffca\113" +
-    "\uffca\114\uffca\115\uffca\116\uffca\117\uffca\120\uffca\121\uffca" +
-    "\122\uffca\123\uffca\124\uffca\125\uffca\126\uffca\127\uffca\130" +
-    "\uffca\131\uffca\001\002\000\200\006\uffc4\010\uffc4\011\uffc4" +
-    "\012\uffc4\024\uffc4\025\uffc4\027\uffc4\030\uffc4\033\uffc4\034" +
-    "\uffc4\036\uffc4\037\uffc4\040\uffc4\041\uffc4\042\uffc4\043\uffc4" +
-    "\044\uffc4\045\uffc4\046\uffc4\047\uffc4\050\uffc4\051\uffc4\052" +
-    "\uffc4\061\uffc4\062\uffc4\063\uffc4\064\uffc4\065\uffc4\066\uffc4" +
-    "\067\uffc4\070\uffc4\071\uffc4\073\uffc4\074\uffc4\075\uffc4\076" +
-    "\uffc4\077\uffc4\100\uffc4\101\uffc4\102\uffc4\103\uffc4\104\uffc4" +
-    "\105\uffc4\106\uffc4\107\uffc4\110\uffc4\111\uffc4\112\uffc4\113" +
-    "\uffc4\114\uffc4\115\uffc4\116\uffc4\117\uffc4\120\uffc4\121\uffc4" +
-    "\122\uffc4\123\uffc4\124\uffc4\125\uffc4\126\uffc4\127\uffc4\130" +
-    "\uffc4\131\uffc4\001\002\000\200\006\uffcd\010\uffcd\011\uffcd" +
-    "\012\uffcd\024\uffcd\025\uffcd\027\uffcd\030\uffcd\033\uffcd\034" +
-    "\uffcd\036\uffcd\037\uffcd\040\uffcd\041\uffcd\042\uffcd\043\uffcd" +
-    "\044\uffcd\045\uffcd\046\uffcd\047\uffcd\050\uffcd\051\uffcd\052" +
-    "\uffcd\061\uffcd\062\uffcd\063\uffcd\064\uffcd\065\uffcd\066\uffcd" +
-    "\067\uffcd\070\uffcd\071\uffcd\073\uffcd\074\uffcd\075\uffcd\076" +
-    "\uffcd\077\uffcd\100\uffcd\101\uffcd\102\uffcd\103\uffcd\104\uffcd" +
-    "\105\uffcd\106\uffcd\107\uffcd\110\uffcd\111\uffcd\112\uffcd\113" +
-    "\uffcd\114\uffcd\115\uffcd\116\uffcd\117\uffcd\120\uffcd\121\uffcd" +
-    "\122\uffcd\123\uffcd\124\uffcd\125\uffcd\126\uffcd\127\uffcd\130" +
-    "\uffcd\131\uffcd\001\002\000\200\006\uffcc\010\uffcc\011\uffcc" +
-    "\012\uffcc\024\uffcc\025\uffcc\027\uffcc\030\uffcc\033\uffcc\034" +
-    "\uffcc\036\uffcc\037\uffcc\040\uffcc\041\uffcc\042\uffcc\043\uffcc" +
-    "\044\uffcc\045\uffcc\046\uffcc\047\uffcc\050\uffcc\051\uffcc\052" +
-    "\uffcc\061\uffcc\062\uffcc\063\uffcc\064\uffcc\065\uffcc\066\uffcc" +
-    "\067\uffcc\070\uffcc\071\uffcc\073\uffcc\074\uffcc\075\uffcc\076" +
-    "\uffcc\077\uffcc\100\uffcc\101\uffcc\102\uffcc\103\uffcc\104\uffcc" +
-    "\105\uffcc\106\uffcc\107\uffcc\110\uffcc\111\uffcc\112\uffcc\113" +
-    "\uffcc\114\uffcc\115\uffcc\116\uffcc\117\uffcc\120\uffcc\121\uffcc" +
-    "\122\uffcc\123\uffcc\124\uffcc\125\uffcc\126\uffcc\127\uffcc\130" +
-    "\uffcc\131\uffcc\001\002\000\200\006\uffcb\010\uffcb\011\uffcb" +
-    "\012\uffcb\024\uffcb\025\uffcb\027\uffcb\030\uffcb\033\uffcb\034" +
-    "\uffcb\036\uffcb\037\uffcb\040\uffcb\041\uffcb\042\uffcb\043\uffcb" +
-    "\044\uffcb\045\uffcb\046\uffcb\047\uffcb\050\uffcb\051\uffcb\052" +
-    "\uffcb\061\uffcb\062\uffcb\063\uffcb\064\uffcb\065\uffcb\066\uffcb" +
-    "\067\uffcb\070\uffcb\071\uffcb\073\uffcb\074\uffcb\075\uffcb\076" +
-    "\uffcb\077\uffcb\100\uffcb\101\uffcb\102\uffcb\103\uffcb\104\uffcb" +
-    "\105\uffcb\106\uffcb\107\uffcb\110\uffcb\111\uffcb\112\uffcb\113" +
-    "\uffcb\114\uffcb\115\uffcb\116\uffcb\117\uffcb\120\uffcb\121\uffcb" +
-    "\122\uffcb\123\uffcb\124\uffcb\125\uffcb\126\uffcb\127\uffcb\130" +
-    "\uffcb\131\uffcb\001\002\000\200\006\101\010\076\011\134" +
-    "\012\107\024\022\025\006\027\070\030\117\033\071\034" +
-    "\120\036\040\037\156\040\145\041\045\042\004\043\041" +
-    "\044\010\045\020\046\012\047\031\050\110\051\066\052" +
-    "\061\061\111\062\077\063\067\064\102\065\125\066\072" +
-    "\067\050\070\155\071\023\073\133\074\154\075\135\076" +
-    "\203\077\142\100\113\101\171\102\175\103\205\104\201" +
-    "\105\204\106\052\107\114\110\173\111\143\112\132\113" +
-    "\126\114\024\115\016\116\047\117\124\120\141\121\056" +
-    "\122\051\123\055\124\153\125\034\126\035\127\104\130" +
-    "\167\131\123\001\002\000\200\006\uffc2\010\uffc2\011\uffc2" +
-    "\012\uffc2\024\uffc2\025\uffc2\027\uffc2\030\uffc2\033\uffc2\034" +
-    "\uffc2\036\uffc2\037\uffc2\040\uffc2\041\uffc2\042\uffc2\043\uffc2" +
-    "\044\uffc2\045\uffc2\046\uffc2\047\uffc2\050\uffc2\051\uffc2\052" +
-    "\uffc2\061\uffc2\062\uffc2\063\uffc2\064\uffc2\065\uffc2\066\uffc2" +
-    "\067\uffc2\070\uffc2\071\uffc2\073\uffc2\074\uffc2\075\uffc2\076" +
-    "\uffc2\077\uffc2\100\uffc2\101\uffc2\102\uffc2\103\uffc2\104\uffc2" +
-    "\105\uffc2\106\uffc2\107\uffc2\110\uffc2\111\uffc2\112\uffc2\113" +
-    "\uffc2\114\uffc2\115\uffc2\116\uffc2\117\uffc2\120\uffc2\121\uffc2" +
-    "\122\uffc2\123\uffc2\124\uffc2\125\uffc2\126\uffc2\127\uffc2\130" +
-    "\uffc2\131\uffc2\001\002\000\200\006\uffc7\010\uffc7\011\uffc7" +
-    "\012\uffc7\024\uffc7\025\uffc7\027\uffc7\030\uffc7\033\uffc7\034" +
-    "\uffc7\036\uffc7\037\uffc7\040\uffc7\041\uffc7\042\uffc7\043\uffc7" +
-    "\044\uffc7\045\uffc7\046\uffc7\047\uffc7\050\uffc7\051\uffc7\052" +
-    "\uffc7\061\uffc7\062\uffc7\063\uffc7\064\uffc7\065\uffc7\066\uffc7" +
-    "\067\uffc7\070\uffc7\071\uffc7\073\uffc7\074\uffc7\075\uffc7\076" +
-    "\uffc7\077\uffc7\100\uffc7\101\uffc7\102\uffc7\103\uffc7\104\uffc7" +
-    "\105\uffc7\106\uffc7\107\uffc7\110\uffc7\111\uffc7\112\uffc7\113" +
-    "\uffc7\114\uffc7\115\uffc7\116\uffc7\117\uffc7\120\uffc7\121\uffc7" +
-    "\122\uffc7\123\uffc7\124\uffc7\125\uffc7\126\uffc7\127\uffc7\130" +
-    "\uffc7\131\uffc7\001\002\000\200\006\uffc0\010\uffc0\011\uffc0" +
-    "\012\uffc0\024\uffc0\025\uffc0\027\uffc0\030\uffc0\033\uffc0\034" +
-    "\uffc0\036\uffc0\037\uffc0\040\uffc0\041\uffc0\042\uffc0\043\uffc0" +
-    "\044\uffc0\045\uffc0\046\uffc0\047\uffc0\050\uffc0\051\uffc0\052" +
-    "\uffc0\061\uffc0\062\uffc0\063\uffc0\064\uffc0\065\uffc0\066\uffc0" +
-    "\067\uffc0\070\uffc0\071\uffc0\073\uffc0\074\uffc0\075\uffc0\076" +
-    "\uffc0\077\uffc0\100\uffc0\101\uffc0\102\uffc0\103\uffc0\104\uffc0" +
-    "\105\uffc0\106\uffc0\107\uffc0\110\uffc0\111\uffc0\112\uffc0\113" +
-    "\uffc0\114\uffc0\115\uffc0\116\uffc0\117\uffc0\120\uffc0\121\uffc0" +
-    "\122\uffc0\123\uffc0\124\uffc0\125\uffc0\126\uffc0\127\uffc0\130" +
-    "\uffc0\131\uffc0\001\002\000\200\006\101\010\076\011\134" +
-    "\012\107\024\022\025\006\027\070\030\117\033\071\034" +
-    "\120\036\040\037\156\040\145\041\045\042\004\043\041" +
-    "\044\010\045\020\046\012\047\031\050\110\051\066\052" +
-    "\061\061\111\062\077\063\067\064\102\065\125\066\072" +
-    "\067\050\070\155\071\023\073\133\074\154\075\135\076" +
-    "\203\077\142\100\113\101\171\102\175\103\205\104\201" +
-    "\105\204\106\052\107\114\110\173\111\143\112\132\113" +
-    "\126\114\024\115\016\116\047\117\124\120\141\121\056" +
-    "\122\051\123\055\124\153\125\034\126\035\127\104\130" +
-    "\167\131\123\001\002\000\200\006\101\010\076\011\134" +
-    "\012\107\024\022\025\006\027\070\030\117\033\071\034" +
-    "\120\036\040\037\156\040\145\041\045\042\004\043\041" +
-    "\044\010\045\020\046\012\047\031\050\110\051\066\052" +
-    "\061\061\111\062\077\063\067\064\102\065\125\066\072" +
-    "\067\050\070\155\071\023\073\133\074\154\075\135\076" +
-    "\203\077\142\100\113\101\171\102\175\103\205\104\201" +
-    "\105\204\106\052\107\114\110\173\111\143\112\132\113" +
-    "\126\114\024\115\016\116\047\117\124\120\141\121\056" +
-    "\122\051\123\055\124\153\125\034\126\035\127\104\130" +
-    "\167\131\123\001\002\000\200\006\uffc8\010\uffc8\011\uffc8" +
-    "\012\uffc8\024\uffc8\025\uffc8\027\uffc8\030\uffc8\033\uffc8\034" +
-    "\uffc8\036\uffc8\037\uffc8\040\uffc8\041\uffc8\042\uffc8\043\uffc8" +
-    "\044\uffc8\045\uffc8\046\uffc8\047\uffc8\050\uffc8\051\uffc8\052" +
-    "\uffc8\061\uffc8\062\uffc8\063\uffc8\064\uffc8\065\uffc8\066\uffc8" +
-    "\067\uffc8\070\uffc8\071\uffc8\073\uffc8\074\uffc8\075\uffc8\076" +
-    "\uffc8\077\uffc8\100\uffc8\101\uffc8\102\uffc8\103\uffc8\104\uffc8" +
-    "\105\uffc8\106\uffc8\107\uffc8\110\uffc8\111\uffc8\112\uffc8\113" +
-    "\uffc8\114\uffc8\115\uffc8\116\uffc8\117\uffc8\120\uffc8\121\uffc8" +
-    "\122\uffc8\123\uffc8\124\uffc8\125\uffc8\126\uffc8\127\uffc8\130" +
-    "\uffc8\131\uffc8\001\002\000\024\002\uffea\005\uffea\007\uffea" +
-    "\032\uffea\100\uffea\101\uffea\107\uffea\110\uffea\111\uffea\001" +
-    "\002\000\024\002\uffeb\005\uffeb\007\uffeb\032\uffeb\100\uffeb" +
-    "\101\uffeb\107\uffeb\110\uffeb\111\uffeb\001\002\000\024\002" +
-    "\uffec\005\uffec\007\uffec\032\uffec\100\uffec\101\uffec\107\uffec" +
-    "\110\uffec\111\uffec\001\002\000\146\012\uffa1\036\uffa1\037" +
-    "\uffa1\040\uffa1\041\uffa1\042\uffa1\043\uffa1\044\uffa1\045\uffa1" +
-    "\046\uffa1\047\uffa1\050\uffa1\051\uffa1\052\uffa1\061\uffa1\062" +
-    "\uffa1\063\uffa1\064\uffa1\065\uffa1\066\uffa1\067\uffa1\070\uffa1" +
-    "\071\uffa1\073\uffa1\074\uffa1\075\uffa1\076\uffa1\077\uffa1\100" +
-    "\uffa1\101\uffa1\102\uffa1\103\uffa1\104\uffa1\105\uffa1\106\uffa1" +
-    "\107\uffa1\110\uffa1\111\uffa1\112\uffa1\113\uffa1\114\uffa1\115" +
-    "\uffa1\116\uffa1\117\uffa1\120\uffa1\121\uffa1\122\uffa1\123\uffa1" +
-    "\124\uffa1\131\uffa1\001\002\000\004\072\u0140\001\002\000" +
-    "\146\012\233\036\232\037\240\040\u0124\041\241\042\237" +
-    "\043\236\044\250\045\226\046\246\047\244\050\225\051" +
-    "\242\052\243\061\111\062\077\063\067\064\102\065\125" +
-    "\066\072\067\050\070\155\071\023\073\133\074\154\075" +
-    "\135\076\203\077\142\100\113\101\171\102\175\103\205" +
-    "\104\201\105\204\106\052\107\114\110\173\111\143\112" +
-    "\u0146\113\u0145\114\024\115\016\116\047\117\124\120\141" +
-    "\121\056\122\051\123\055\124\153\131\123\001\002\000" +
-    "\114\002\uff81\005\uff81\007\uff81\010\u014e\011\uff81\012\u014c" +
-    "\013\uff81\014\uff81\015\uff81\016\uff81\017\uff81\020\uff81\021" +
-    "\uff81\022\uff81\023\uff81\032\uff81\035\u014f\053\uff81\054\uff81" +
-    "\055\uff81\056\uff81\057\uff81\060\uff81\061\uff81\062\uff81\063" +
-    "\uff81\064\uff81\065\uff81\066\uff81\067\uff81\075\uff81\100\uff81" +
-    "\101\uff81\102\uff81\107\uff81\110\uff81\111\uff81\001\002\000" +
-    "\114\002\uff7a\005\uff7a\007\uff7a\010\uff7a\011\uff7a\012\uff7a" +
-    "\013\uff7a\014\uff7a\015\uff7a\016\uff7a\017\uff7a\020\uff7a\021" +
-    "\uff7a\022\uff7a\023\uff7a\032\uff7a\035\uff7a\053\uff7a\054\uff7a" +
-    "\055\uff7a\056\uff7a\057\uff7a\060\uff7a\061\uff7a\062\uff7a\063" +
-    "\uff7a\064\uff7a\065\uff7a\066\uff7a\067\uff7a\075\uff7a\100\uff7a" +
-    "\101\uff7a\102\uff7a\107\uff7a\110\uff7a\111\uff7a\001\002\000" +
-    "\112\002\uffd6\005\uffd6\007\uffd6\010\uffd6\011\uffd6\012\uffd6" +
-    "\013\uffd6\014\uffd6\015\uffd6\016\uffd6\017\uffd6\020\uffd6\021" +
-    "\uffd6\022\uffd6\023\uffd6\032\uffd6\053\uffd6\054\uffd6\055\uffd6" +
-    "\056\uffd6\057\uffd6\060\uffd6\061\uffd6\062\uffd6\063\uffd6\064" +
-    "\uffd6\065\uffd6\066\uffd6\067\uffd6\075\uffd6\100\uffd6\101\uffd6" +
-    "\102\uffd6\107\uffd6\110\uffd6\111\uffd6\001\002\000\114\002" +
-    "\uff7b\005\uff7b\007\uff7b\010\uff7b\011\uff7b\012\uff7b\013\uff7b" +
-    "\014\uff7b\015\uff7b\016\uff7b\017\uff7b\020\uff7b\021\uff7b\022" +
-    "\uff7b\023\uff7b\032\uff7b\035\uff7b\053\uff7b\054\uff7b\055\uff7b" +
-    "\056\uff7b\057\uff7b\060\uff7b\061\uff7b\062\uff7b\063\uff7b\064" +
-    "\uff7b\065\uff7b\066\uff7b\067\uff7b\075\uff7b\100\uff7b\101\uff7b" +
-    "\102\uff7b\107\uff7b\110\uff7b\111\uff7b\001\002\000\006\006" +
-    "\u014a\031\uff20\001\002\000\006\006\u0148\031\uff21\001\002" +
-    "\000\120\002\uff78\005\uff78\007\uff78\010\uff78\011\uff78\012" +
-    "\uff78\013\uff78\014\uff78\015\uff78\016\uff78\017\uff78\020\uff78" +
-    "\021\uff78\022\uff78\023\uff78\032\uff78\035\uff78\053\uff78\054" +
-    "\uff78\055\uff78\056\uff78\057\uff78\060\uff78\061\uff78\062\uff78" +
-    "\063\uff78\064\uff78\065\uff78\066\uff78\067\uff78\071\uff78\073" +
-    "\uff78\075\uff78\100\uff78\101\uff78\102\uff78\107\uff78\110\uff78" +
-    "\111\uff78\001\002\000\004\007\u0149\001\002\000\112\002" +
-    "\uff7f\005\uff7f\007\uff7f\010\uff7f\011\uff7f\012\uff7f\013\uff7f" +
-    "\014\uff7f\015\uff7f\016\uff7f\017\uff7f\020\uff7f\021\uff7f\022" +
-    "\uff7f\023\uff7f\032\uff7f\053\uff7f\054\uff7f\055\uff7f\056\uff7f" +
-    "\057\uff7f\060\uff7f\061\uff7f\062\uff7f\063\uff7f\064\uff7f\065" +
-    "\uff7f\066\uff7f\067\uff7f\075\uff7f\100\uff7f\101\uff7f\102\uff7f" +
-    "\107\uff7f\110\uff7f\111\uff7f\001\002\000\004\007\u014b\001" +
-    "\002\000\114\002\uff79\005\uff79\007\uff79\010\uff79\011\uff79" +
-    "\012\uff79\013\uff79\014\uff79\015\uff79\016\uff79\017\uff79\020" +
-    "\uff79\021\uff79\022\uff79\023\uff79\032\uff79\035\uff79\053\uff79" +
-    "\054\uff79\055\uff79\056\uff79\057\uff79\060\uff79\061\uff79\062" +
-    "\uff79\063\uff79\064\uff79\065\uff79\066\uff79\067\uff79\075\uff79" +
-    "\100\uff79\101\uff79\102\uff79\107\uff79\110\uff79\111\uff79\001" +
-    "\002\000\112\002\uff7d\005\uff7d\007\uff7d\010\uff7d\011\uff7d" +
-    "\012\uff7d\013\uff7d\014\uff7d\015\uff7d\016\uff7d\017\uff7d\020" +
-    "\uff7d\021\uff7d\022\uff7d\023\uff7d\032\uff7d\053\uff7d\054\uff7d" +
-    "\055\uff7d\056\uff7d\057\uff7d\060\uff7d\061\uff7d\062\uff7d\063" +
-    "\uff7d\064\uff7d\065\uff7d\066\uff7d\067\uff7d\075\uff7d\100\uff7d" +
-    "\101\uff7d\102\uff7d\107\uff7d\110\uff7d\111\uff7d\001\002\000" +
-    "\112\002\uff80\005\uff80\007\uff80\010\uff80\011\uff80\012\uff80" +
-    "\013\uff80\014\uff80\015\uff80\016\uff80\017\uff80\020\uff80\021" +
-    "\uff80\022\uff80\023\uff80\032\uff80\053\uff80\054\uff80\055\uff80" +
-    "\056\uff80\057\uff80\060\uff80\061\uff80\062\uff80\063\uff80\064" +
-    "\uff80\065\uff80\066\uff80\067\uff80\075\uff80\100\uff80\101\uff80" +
-    "\102\uff80\107\uff80\110\uff80\111\uff80\001\002\000\112\002" +
-    "\uff7c\005\uff7c\007\uff7c\010\uff7c\011\uff7c\012\uff7c\013\uff7c" +
-    "\014\uff7c\015\uff7c\016\uff7c\017\uff7c\020\uff7c\021\uff7c\022" +
-    "\uff7c\023\uff7c\032\uff7c\053\uff7c\054\uff7c\055\uff7c\056\uff7c" +
-    "\057\uff7c\060\uff7c\061\uff7c\062\uff7c\063\uff7c\064\uff7c\065" +
-    "\uff7c\066\uff7c\067\uff7c\075\uff7c\100\uff7c\101\uff7c\102\uff7c" +
-    "\107\uff7c\110\uff7c\111\uff7c\001\002\000\112\002\uff7e\005" +
-    "\uff7e\007\uff7e\010\uff7e\011\uff7e\012\uff7e\013\uff7e\014\uff7e" +
-    "\015\uff7e\016\uff7e\017\uff7e\020\uff7e\021\uff7e\022\uff7e\023" +
-    "\uff7e\032\uff7e\053\uff7e\054\uff7e\055\uff7e\056\uff7e\057\uff7e" +
-    "\060\uff7e\061\uff7e\062\uff7e\063\uff7e\064\uff7e\065\uff7e\066" +
-    "\uff7e\067\uff7e\075\uff7e\100\uff7e\101\uff7e\102\uff7e\107\uff7e" +
-    "\110\uff7e\111\uff7e\001\002\000\146\012\233\036\232\037" +
-    "\240\040\252\041\241\042\237\043\236\044\250\045\226" +
-    "\046\246\047\244\050\225\051\242\052\243\061\111\062" +
-    "\077\063\067\064\102\065\125\066\072\067\050\070\155" +
-    "\071\023\073\133\074\154\075\135\076\203\077\142\100" +
-    "\113\101\171\102\175\103\205\104\201\105\204\106\052" +
-    "\107\114\110\173\111\143\112\132\113\126\114\253\115" +
-    "\247\116\251\117\227\120\234\121\230\122\245\123\235" +
-    "\124\153\131\123\001\002\000\004\007\u0153\001\002\000" +
-    "\004\007\uff5f\001\002\000\130\002\uff60\004\uff60\005\uff60" +
-    "\007\uff60\010\uff60\011\uff60\012\uff60\013\uff60\014\uff60\015" +
-    "\uff60\016\uff60\017\uff60\020\uff60\021\uff60\022\uff60\023\uff60" +
-    "\024\uff60\025\uff60\032\uff60\035\uff60\053\uff60\054\uff60\055" +
-    "\uff60\056\uff60\057\uff60\060\uff60\061\uff60\062\uff60\063\uff60" +
-    "\064\uff60\065\uff60\066\uff60\067\uff60\071\uff60\073\uff60\074" +
-    "\uff60\075\uff60\100\uff60\101\uff60\102\uff60\107\uff60\110\uff60" +
-    "\111\uff60\001\002\000\146\012\233\036\232\037\240\040" +
-    "\252\041\241\042\237\043\236\044\250\045\226\046\246" +
-    "\047\244\050\225\051\242\052\243\061\111\062\077\063" +
-    "\067\064\102\065\125\066\072\067\050\070\155\071\023" +
-    "\073\133\074\154\075\135\076\203\077\142\100\113\101" +
-    "\171\102\175\103\205\104\201\105\204\106\052\107\114" +
-    "\110\173\111\143\112\132\113\126\114\253\115\247\116" +
-    "\251\117\227\120\234\121\230\122\245\123\235\124\153" +
-    "\131\123\001\002\000\004\007\u0158\001\002\000\004\007" +
-    "\uff57\001\002\000\006\007\uff55\032\uff55\001\002\000\130" +
-    "\002\uff58\004\uff58\005\uff58\007\uff58\010\uff58\011\uff58\012" +
-    "\uff58\013\uff58\014\uff58\015\uff58\016\uff58\017\uff58\020\uff58" +
-    "\021\uff58\022\uff58\023\uff58\024\uff58\025\uff58\032\uff58\035" +
-    "\uff58\053\uff58\054\uff58\055\uff58\056\uff58\057\uff58\060\uff58" +
-    "\061\uff58\062\uff58\063\uff58\064\uff58\065\uff58\066\uff58\067" +
-    "\uff58\071\uff58\073\uff58\074\uff58\075\uff58\100\uff58\101\uff58" +
-    "\102\uff58\107\uff58\110\uff58\111\uff58\001\002\000\126\002" +
-    "\uffb4\004\214\005\uffb4\007\uffb4\010\uffb4\011\uffb4\012\uffb4" +
-    "\013\uffb4\014\uffb4\015\uffb4\016\uffb4\017\uffb4\020\uffb4\021" +
-    "\uffb4\022\uffb4\023\uffb4\024\uffb4\025\uffb4\032\uffb4\053\uffb4" +
-    "\054\uffb4\055\uffb4\056\uffb4\057\uffb4\060\uffb4\061\uffb4\062" +
-    "\uffb4\063\uffb4\064\uffb4\065\uffb4\066\uffb4\067\uffb4\071\uffb4" +
-    "\073\uffb4\074\uffb4\075\uffb4\100\uffb4\101\uffb4\102\uffb4\107" +
-    "\uffb4\110\uffb4\111\uffb4\001\002\000\150\007\u015c\012\u015b" +
-    "\036\232\037\240\040\252\041\241\042\237\043\236\044" +
-    "\250\045\226\046\246\047\244\050\225\051\242\052\243" +
-    "\061\111\062\077\063\067\064\102\065\125\066\072\067" +
-    "\050\070\155\071\023\073\133\074\154\075\135\076\203" +
-    "\077\142\100\113\101\171\102\175\103\205\104\201\105" +
-    "\204\106\052\107\114\110\173\111\143\112\132\113\126" +
-    "\114\253\115\247\116\251\117\227\120\234\121\230\122" +
-    "\245\123\235\124\153\131\123\001\002\000\010\007\uff59" +
-    "\031\uff18\032\uff59\001\002\000\130\002\uff5e\004\uff5e\005" +
-    "\uff5e\007\uff5e\010\uff5e\011\uff5e\012\uff5e\013\uff5e\014\uff5e" +
-    "\015\uff5e\016\uff5e\017\uff5e\020\uff5e\021\uff5e\022\uff5e\023" +
-    "\uff5e\024\uff5e\025\uff5e\032\uff5e\035\uff5e\053\uff5e\054\uff5e" +
-    "\055\uff5e\056\uff5e\057\uff5e\060\uff5e\061\uff5e\062\uff5e\063" +
-    "\uff5e\064\uff5e\065\uff5e\066\uff5e\067\uff5e\071\uff5e\073\uff5e" +
-    "\074\uff5e\075\uff5e\100\uff5e\101\uff5e\102\uff5e\107\uff5e\110" +
-    "\uff5e\111\uff5e\001\002\000\006\007\u0160\032\u015f\001\002" +
-    "\000\006\007\uff5a\032\uff5a\001\002\000\146\012\233\036" +
-    "\232\037\240\040\252\041\241\042\237\043\236\044\250" +
-    "\045\226\046\246\047\244\050\225\051\242\052\243\061" +
-    "\111\062\077\063\067\064\102\065\125\066\072\067\050" +
-    "\070\155\071\023\073\133\074\154\075\135\076\203\077" +
-    "\142\100\113\101\171\102\175\103\205\104\201\105\204" +
-    "\106\052\107\114\110\173\111\143\112\132\113\126\114" +
-    "\253\115\247\116\251\117\227\120\234\121\230\122\245" +
-    "\123\235\124\153\131\123\001\002\000\130\002\uff5d\004" +
-    "\uff5d\005\uff5d\007\uff5d\010\uff5d\011\uff5d\012\uff5d\013\uff5d" +
-    "\014\uff5d\015\uff5d\016\uff5d\017\uff5d\020\uff5d\021\uff5d\022" +
-    "\uff5d\023\uff5d\024\uff5d\025\uff5d\032\uff5d\035\uff5d\053\uff5d" +
-    "\054\uff5d\055\uff5d\056\uff5d\057\uff5d\060\uff5d\061\uff5d\062" +
-    "\uff5d\063\uff5d\064\uff5d\065\uff5d\066\uff5d\067\uff5d\071\uff5d" +
-    "\073\uff5d\074\uff5d\075\uff5d\100\uff5d\101\uff5d\102\uff5d\107" +
-    "\uff5d\110\uff5d\111\uff5d\001\002\000\006\007\u0163\035\u0162" +
-    "\001\002\000\004\007\u0164\001\002\000\130\002\uff5c\004" +
-    "\uff5c\005\uff5c\007\uff5c\010\uff5c\011\uff5c\012\uff5c\013\uff5c" +
-    "\014\uff5c\015\uff5c\016\uff5c\017\uff5c\020\uff5c\021\uff5c\022" +
-    "\uff5c\023\uff5c\024\uff5c\025\uff5c\032\uff5c\035\uff5c\053\uff5c" +
-    "\054\uff5c\055\uff5c\056\uff5c\057\uff5c\060\uff5c\061\uff5c\062" +
-    "\uff5c\063\uff5c\064\uff5c\065\uff5c\066\uff5c\067\uff5c\071\uff5c" +
-    "\073\uff5c\074\uff5c\075\uff5c\100\uff5c\101\uff5c\102\uff5c\107" +
-    "\uff5c\110\uff5c\111\uff5c\001\002\000\130\002\uff5b\004\uff5b" +
-    "\005\uff5b\007\uff5b\010\uff5b\011\uff5b\012\uff5b\013\uff5b\014" +
-    "\uff5b\015\uff5b\016\uff5b\017\uff5b\020\uff5b\021\uff5b\022\uff5b" +
-    "\023\uff5b\024\uff5b\025\uff5b\032\uff5b\035\uff5b\053\uff5b\054" +
-    "\uff5b\055\uff5b\056\uff5b\057\uff5b\060\uff5b\061\uff5b\062\uff5b" +
-    "\063\uff5b\064\uff5b\065\uff5b\066\uff5b\067\uff5b\071\uff5b\073" +
-    "\uff5b\074\uff5b\075\uff5b\100\uff5b\101\uff5b\102\uff5b\107\uff5b" +
-    "\110\uff5b\111\uff5b\001\002\000\004\007\u0166\001\002\000" +
-    "\130\002\uff6a\004\uff6a\005\uff6a\007\uff6a\010\uff6a\011\uff6a" +
-    "\012\uff6a\013\uff6a\014\uff6a\015\uff6a\016\uff6a\017\uff6a\020" +
-    "\uff6a\021\uff6a\022\uff6a\023\uff6a\024\uff6a\025\uff6a\032\uff6a" +
-    "\035\uff6a\053\uff6a\054\uff6a\055\uff6a\056\uff6a\057\uff6a\060" +
-    "\uff6a\061\uff6a\062\uff6a\063\uff6a\064\uff6a\065\uff6a\066\uff6a" +
-    "\067\uff6a\071\uff6a\073\uff6a\074\uff6a\075\uff6a\100\uff6a\101" +
-    "\uff6a\102\uff6a\107\uff6a\110\uff6a\111\uff6a\001\002\000\146" +
-    "\012\233\036\232\037\240\040\252\041\241\042\237\043" +
-    "\236\044\250\045\226\046\246\047\244\050\225\051\242" +
-    "\052\243\061\111\062\077\063\067\064\102\065\125\066" +
-    "\072\067\050\070\155\071\023\073\133\074\154\075\135" +
-    "\076\203\077\142\100\113\101\171\102\175\103\205\104" +
-    "\201\105\204\106\052\107\114\110\173\111\143\112\132" +
-    "\113\126\114\253\115\247\116\251\117\227\120\234\121" +
-    "\230\122\245\123\235\124\153\131\123\001\002\000\006" +
-    "\032\264\101\u0169\001\002\000\200\006\101\010\076\011" +
-    "\134\012\107\024\022\025\006\027\070\030\117\033\071" +
-    "\034\120\036\040\037\156\040\145\041\045\042\004\043" +
-    "\041\044\010\045\020\046\012\047\031\050\110\051\066" +
-    "\052\061\061\111\062\077\063\067\064\102\065\125\066" +
-    "\072\067\050\070\155\071\023\073\133\074\154\075\135" +
-    "\076\106\077\142\100\113\101\171\102\175\103\157\104" +
-    "\046\105\147\106\052\107\114\110\173\111\143\112\132" +
-    "\113\126\114\024\115\016\116\047\117\124\120\141\121" +
-    "\056\122\051\123\055\124\153\125\034\126\035\127\104" +
-    "\130\167\131\123\001\002\000\020\002\ufff5\005\ufff5\007" +
-    "\ufff5\032\ufff5\100\ufff5\101\ufff5\107\ufff5\001\002\000\146" +
-    "\012\uffae\036\uffae\037\uffae\040\uffae\041\uffae\042\uffae\043" +
-    "\uffae\044\uffae\045\uffae\046\uffae\047\uffae\050\uffae\051\uffae" +
-    "\052\uffae\061\uffae\062\uffae\063\uffae\064\uffae\065\uffae\066" +
-    "\uffae\067\uffae\070\uffae\071\uffae\073\uffae\074\uffae\075\uffae" +
-    "\076\uffae\077\uffae\100\uffae\101\uffae\102\uffae\103\uffae\104" +
-    "\uffae\105\uffae\106\uffae\107\uffae\110\uffae\111\uffae\112\uffae" +
-    "\113\uffae\114\uffae\115\uffae\116\uffae\117\uffae\120\uffae\121" +
-    "\uffae\122\uffae\123\uffae\124\uffae\131\uffae\001\002\000\146" +
-    "\012\uffac\036\uffac\037\uffac\040\uffac\041\uffac\042\uffac\043" +
-    "\uffac\044\uffac\045\uffac\046\uffac\047\uffac\050\uffac\051\uffac" +
-    "\052\uffac\061\uffac\062\uffac\063\uffac\064\uffac\065\uffac\066" +
-    "\uffac\067\uffac\070\uffac\071\uffac\073\uffac\074\uffac\075\uffac" +
-    "\076\uffac\077\uffac\100\uffac\101\uffac\102\uffac\103\uffac\104" +
-    "\uffac\105\uffac\106\uffac\107\uffac\110\uffac\111\uffac\112\uffac" +
-    "\113\uffac\114\uffac\115\uffac\116\uffac\117\uffac\120\uffac\121" +
-    "\uffac\122\uffac\123\uffac\124\uffac\131\uffac\001\002\000\146" +
-    "\012\uffb1\036\uffb1\037\uffb1\040\uffb1\041\uffb1\042\uffb1\043" +
-    "\uffb1\044\uffb1\045\uffb1\046\uffb1\047\uffb1\050\uffb1\051\uffb1" +
-    "\052\uffb1\061\uffb1\062\uffb1\063\uffb1\064\uffb1\065\uffb1\066" +
-    "\uffb1\067\uffb1\070\uffb1\071\uffb1\073\uffb1\074\uffb1\075\uffb1" +
-    "\076\uffb1\077\uffb1\100\uffb1\101\uffb1\102\uffb1\103\uffb1\104" +
-    "\uffb1\105\uffb1\106\uffb1\107\uffb1\110\uffb1\111\uffb1\112\uffb1" +
-    "\113\uffb1\114\uffb1\115\uffb1\116\uffb1\117\uffb1\120\uffb1\121" +
-    "\uffb1\122\uffb1\123\uffb1\124\uffb1\131\uffb1\001\002\000\004" +
-    "\072\u016f\001\002\000\146\012\233\036\232\037\240\040" +
-    "\252\041\241\042\237\043\236\044\250\045\226\046\246" +
-    "\047\244\050\225\051\242\052\243\061\111\062\077\063" +
-    "\067\064\102\065\125\066\072\067\050\070\155\071\023" +
-    "\073\133\074\154\075\135\076\203\077\142\100\113\101" +
-    "\171\102\175\103\205\104\201\105\204\106\052\107\114" +
-    "\110\173\111\143\112\132\113\126\114\253\115\247\116" +
-    "\251\117\227\120\234\121\230\122\245\123\235\124\153" +
-    "\131\123\001\002\000\114\002\uffd4\005\uffd4\007\uffd4\010" +
-    "\uffd4\011\uffd4\012\uffd4\013\uffd4\014\uffd4\015\uffd4\016\uffd4" +
-    "\017\uffd4\020\uffd4\021\uffd4\022\uffd4\023\uffd4\032\uffd4\053" +
-    "\uffd4\054\uffd4\055\uffd4\056\uffd4\057\uffd4\060\uffd4\061\uffd4" +
-    "\062\uffd4\063\uffd4\064\uffd4\065\uffd4\066\uffd4\067\uffd4\071" +
-    "\uffd4\075\uffd4\100\uffd4\101\uffd4\102\uffd4\107\uffd4\110\uffd4" +
-    "\111\uffd4\001\002\000\120\002\uff83\005\uff83\007\uff83\010" +
-    "\uff83\011\uff83\012\uff83\013\uff83\014\uff83\015\uff83\016\uff83" +
-    "\017\uff83\020\uff83\021\uff83\022\uff83\023\uff83\032\uff83\035" +
-    "\u0172\053\uff83\054\uff83\055\uff83\056\uff83\057\uff83\060\uff83" +
-    "\061\uff83\062\uff83\063\uff83\064\uff83\065\uff83\066\uff83\067" +
-    "\uff83\071\uff83\073\uff83\075\uff83\100\uff83\101\uff83\102\uff83" +
-    "\107\uff83\110\uff83\111\uff83\001\002\000\116\002\uff82\005" +
-    "\uff82\007\uff82\010\uff82\011\uff82\012\uff82\013\uff82\014\uff82" +
-    "\015\uff82\016\uff82\017\uff82\020\uff82\021\uff82\022\uff82\023" +
-    "\uff82\032\uff82\053\uff82\054\uff82\055\uff82\056\uff82\057\uff82" +
-    "\060\uff82\061\uff82\062\uff82\063\uff82\064\uff82\065\uff82\066" +
-    "\uff82\067\uff82\071\uff82\073\uff82\075\uff82\100\uff82\101\uff82" +
-    "\102\uff82\107\uff82\110\uff82\111\uff82\001\002\000\126\002" +
-    "\uffb3\004\uffb3\005\uffb3\007\uffb3\010\uffb3\011\uffb3\012\uffb3" +
-    "\013\uffb3\014\uffb3\015\uffb3\016\uffb3\017\uffb3\020\uffb3\021" +
-    "\uffb3\022\uffb3\023\uffb3\024\uffb3\025\uffb3\032\uffb3\053\uffb3" +
-    "\054\uffb3\055\uffb3\056\uffb3\057\uffb3\060\uffb3\061\uffb3\062" +
-    "\uffb3\063\uffb3\064\uffb3\065\uffb3\066\uffb3\067\uffb3\071\uffb3" +
-    "\073\uffb3\074\uffb3\075\uffb3\100\uffb3\101\uffb3\102\uffb3\107" +
-    "\uffb3\110\uffb3\111\uffb3\001\002\000\146\012\uffa4\036\uffa4" +
-    "\037\uffa4\040\uffa4\041\uffa4\042\uffa4\043\uffa4\044\uffa4\045" +
-    "\uffa4\046\uffa4\047\uffa4\050\uffa4\051\uffa4\052\uffa4\061\uffa4" +
-    "\062\uffa4\063\uffa4\064\uffa4\065\uffa4\066\uffa4\067\uffa4\070" +
-    "\uffa4\071\uffa4\073\uffa4\074\uffa4\075\uffa4\076\uffa4\077\uffa4" +
-    "\100\uffa4\101\uffa4\102\uffa4\103\uffa4\104\uffa4\105\uffa4\106" +
-    "\uffa4\107\uffa4\110\uffa4\111\uffa4\112\uffa4\113\uffa4\114\uffa4" +
-    "\115\uffa4\116\uffa4\117\uffa4\120\uffa4\121\uffa4\122\uffa4\123" +
-    "\uffa4\124\uffa4\131\uffa4\001\002\000\200\006\101\010\076" +
-    "\011\134\012\107\024\022\025\006\027\070\030\117\033" +
-    "\071\034\120\036\040\037\156\040\145\041\045\042\004" +
-    "\043\041\044\010\045\020\046\012\047\031\050\110\051" +
-    "\066\052\061\061\111\062\077\063\067\064\102\065\125" +
-    "\066\072\067\050\070\155\071\023\073\133\074\154\075" +
-    "\135\076\203\077\142\100\113\101\171\102\175\103\205" +
-    "\104\201\105\204\106\052\107\114\110\173\111\143\112" +
-    "\132\113\126\114\024\115\016\116\047\117\124\120\141" +
-    "\121\056\122\051\123\055\124\153\125\034\126\035\127" +
-    "\104\130\167\131\123\001\002\000\200\006\101\010\076" +
-    "\011\134\012\107\024\022\025\006\027\070\030\117\033" +
-    "\071\034\120\036\040\037\156\040\145\041\045\042\004" +
-    "\043\041\044\010\045\020\046\012\047\031\050\110\051" +
-    "\066\052\061\061\111\062\077\063\067\064\102\065\125" +
-    "\066\072\067\050\070\155\071\023\073\133\074\154\075" +
-    "\135\076\203\077\142\100\113\101\171\102\175\103\205" +
-    "\104\201\105\204\106\052\107\114\110\173\111\143\112" +
-    "\132\113\126\114\024\115\016\116\047\117\124\120\141" +
-    "\121\056\122\051\123\055\124\153\125\034\126\035\127" +
-    "\104\130\167\131\123\001\002\000\200\006\101\010\076" +
-    "\011\134\012\107\024\022\025\006\027\070\030\117\033" +
-    "\071\034\120\036\040\037\156\040\145\041\045\042\004" +
-    "\043\041\044\010\045\020\046\012\047\031\050\110\051" +
-    "\066\052\061\061\111\062\077\063\067\064\102\065\125" +
-    "\066\072\067\050\070\155\071\023\073\133\074\154\075" +
-    "\135\076\203\077\142\100\113\101\171\102\175\103\205" +
-    "\104\201\105\204\106\052\107\114\110\173\111\143\112" +
-    "\132\113\126\114\024\115\016\116\047\117\124\120\141" +
-    "\121\056\122\051\123\055\124\153\125\034\126\035\127" +
-    "\104\130\167\131\123\001\002\000\100\002\uffe5\005\uffe5" +
-    "\007\uffe5\010\uffe5\011\uffe5\012\u0101\014\uffe5\015\uffe5\016" +
-    "\uffe5\017\uffe5\020\uffe5\021\uffe5\022\uffe5\023\uffe5\032\uffe5" +
-    "\053\uffe5\054\uffe5\055\uffe5\056\uffe5\057\uffe5\060\uffe5\061" +
-    "\u0103\062\u0104\063\u0102\075\uffe5\100\uffe5\101\uffe5\102\uffe5" +
-    "\107\uffe5\110\uffe5\111\uffe5\001\002\000\100\002\uffe6\005" +
-    "\uffe6\007\uffe6\010\uffe6\011\uffe6\012\u0101\014\uffe6\015\uffe6" +
-    "\016\uffe6\017\uffe6\020\uffe6\021\uffe6\022\uffe6\023\uffe6\032" +
-    "\uffe6\053\uffe6\054\uffe6\055\uffe6\056\uffe6\057\uffe6\060\uffe6" +
-    "\061\u0103\062\u0104\063\u0102\075\uffe6\100\uffe6\101\uffe6\102" +
-    "\uffe6\107\uffe6\110\uffe6\111\uffe6\001\002\000\066\002\uffe8" +
-    "\005\uffe8\007\uffe8\010\u0176\011\u0177\014\uffe8\015\uffe8\016" +
-    "\uffe8\017\uffe8\020\uffe8\021\uffe8\022\uffe8\023\uffe8\032\uffe8" +
-    "\053\uffe8\054\uffe8\055\uffe8\056\uffe8\057\uffe8\060\uffe8\075" +
-    "\uffe8\100\uffe8\101\uffe8\107\uffe8\110\uffe8\111\uffe8\001\002" +
-    "\000\004\007\u017c\001\002\000\130\002\uff6e\004\uff6e\005" +
-    "\uff6e\007\uff6e\010\uff6e\011\uff6e\012\uff6e\013\uff6e\014\uff6e" +
-    "\015\uff6e\016\uff6e\017\uff6e\020\uff6e\021\uff6e\022\uff6e\023" +
-    "\uff6e\024\uff6e\025\uff6e\032\uff6e\035\uff6e\053\uff6e\054\uff6e" +
-    "\055\uff6e\056\uff6e\057\uff6e\060\uff6e\061\uff6e\062\uff6e\063" +
-    "\uff6e\064\uff6e\065\uff6e\066\uff6e\067\uff6e\071\uff6e\073\uff6e" +
-    "\074\uff6e\075\uff6e\100\uff6e\101\uff6e\102\uff6e\107\uff6e\110" +
-    "\uff6e\111\uff6e\001\002\000\124\002\uffbd\005\uffbd\007\uffbd" +
-    "\010\uffbd\011\uffbd\012\uffbd\013\uffbd\014\uffbd\015\uffbd\016" +
-    "\uffbd\017\uffbd\020\uffbd\021\uffbd\022\uffbd\023\uffbd\024\375" +
-    "\025\376\032\uffbd\053\uffbd\054\uffbd\055\uffbd\056\uffbd\057" +
-    "\uffbd\060\uffbd\061\uffbd\062\uffbd\063\uffbd\064\uffbd\065\uffbd" +
-    "\066\uffbd\067\uffbd\071\uffbd\073\uffbd\074\uffbd\075\uffbd\100" +
-    "\uffbd\101\uffbd\102\uffbd\107\uffbd\110\uffbd\111\uffbd\001\002" +
-    "\000\146\012\uffaa\036\uffaa\037\uffaa\040\uffaa\041\uffaa\042" +
-    "\uffaa\043\uffaa\044\uffaa\045\uffaa\046\uffaa\047\uffaa\050\uffaa" +
-    "\051\uffaa\052\uffaa\061\uffaa\062\uffaa\063\uffaa\064\uffaa\065" +
-    "\uffaa\066\uffaa\067\uffaa\070\uffaa\071\uffaa\073\uffaa\074\uffaa" +
-    "\075\uffaa\076\uffaa\077\uffaa\100\uffaa\101\uffaa\102\uffaa\103" +
-    "\uffaa\104\uffaa\105\uffaa\106\uffaa\107\uffaa\110\uffaa\111\uffaa" +
-    "\112\uffaa\113\uffaa\114\uffaa\115\uffaa\116\uffaa\117\uffaa\120" +
-    "\uffaa\121\uffaa\122\uffaa\123\uffaa\124\uffaa\131\uffaa\001\002" +
-    "\000\010\007\u0183\122\u0184\123\u0182\001\002\000\004\007" +
-    "\u0186\001\002\000\004\007\u0185\001\002\000\004\006\u0154" +
-    "\001\002\000\130\002\uff6d\004\uff6d\005\uff6d\007\uff6d\010" +
-    "\uff6d\011\uff6d\012\uff6d\013\uff6d\014\uff6d\015\uff6d\016\uff6d" +
-    "\017\uff6d\020\uff6d\021\uff6d\022\uff6d\023\uff6d\024\uff6d\025" +
-    "\uff6d\032\uff6d\035\uff6d\053\uff6d\054\uff6d\055\uff6d\056\uff6d" +
-    "\057\uff6d\060\uff6d\061\uff6d\062\uff6d\063\uff6d\064\uff6d\065" +
-    "\uff6d\066\uff6d\067\uff6d\071\uff6d\073\uff6d\074\uff6d\075\uff6d" +
-    "\100\uff6d\101\uff6d\102\uff6d\107\uff6d\110\uff6d\111\uff6d\001" +
-    "\002\000\004\006\u015a\001\002\000\130\002\uff6b\004\uff6b" +
-    "\005\uff6b\007\uff6b\010\uff6b\011\uff6b\012\uff6b\013\uff6b\014" +
-    "\uff6b\015\uff6b\016\uff6b\017\uff6b\020\uff6b\021\uff6b\022\uff6b" +
-    "\023\uff6b\024\uff6b\025\uff6b\032\uff6b\035\uff6b\053\uff6b\054" +
-    "\uff6b\055\uff6b\056\uff6b\057\uff6b\060\uff6b\061\uff6b\062\uff6b" +
-    "\063\uff6b\064\uff6b\065\uff6b\066\uff6b\067\uff6b\071\uff6b\073" +
-    "\uff6b\074\uff6b\075\uff6b\100\uff6b\101\uff6b\102\uff6b\107\uff6b" +
-    "\110\uff6b\111\uff6b\001\002\000\130\002\uff6c\004\uff6c\005" +
-    "\uff6c\007\uff6c\010\uff6c\011\uff6c\012\uff6c\013\uff6c\014\uff6c" +
-    "\015\uff6c\016\uff6c\017\uff6c\020\uff6c\021\uff6c\022\uff6c\023" +
-    "\uff6c\024\uff6c\025\uff6c\032\uff6c\035\uff6c\053\uff6c\054\uff6c" +
-    "\055\uff6c\056\uff6c\057\uff6c\060\uff6c\061\uff6c\062\uff6c\063" +
-    "\uff6c\064\uff6c\065\uff6c\066\uff6c\067\uff6c\071\uff6c\073\uff6c" +
-    "\074\uff6c\075\uff6c\100\uff6c\101\uff6c\102\uff6c\107\uff6c\110" +
-    "\uff6c\111\uff6c\001\002\000\004\070\u0188\001\002\000\146" +
-    "\012\233\036\232\037\240\040\u0124\041\241\042\237\043" +
-    "\236\044\250\045\226\046\246\047\244\050\225\051\242" +
-    "\052\243\061\111\062\077\063\067\064\102\065\125\066" +
-    "\072\067\050\070\155\071\023\073\133\074\154\075\135" +
-    "\076\203\077\142\100\113\101\171\102\175\103\205\104" +
-    "\201\105\204\106\052\107\114\110\173\111\143\112\u0146" +
-    "\113\u0145\114\024\115\016\116\047\117\124\120\141\121" +
-    "\056\122\051\123\055\124\153\131\123\001\002\000\110" +
-    "\002\uffd8\005\uffd8\007\uffd8\010\uffd8\011\uffd8\012\uffd8\013" +
-    "\uffd8\014\uffd8\015\uffd8\016\uffd8\017\uffd8\020\uffd8\021\uffd8" +
-    "\022\uffd8\023\uffd8\032\uffd8\053\uffd8\054\uffd8\055\uffd8\056" +
-    "\uffd8\057\uffd8\060\uffd8\061\uffd8\062\uffd8\063\uffd8\064\uffd8" +
-    "\065\uffd8\066\uffd8\075\uffd8\100\uffd8\101\uffd8\102\uffd8\107" +
-    "\uffd8\110\uffd8\111\uffd8\001\002\000\004\072\u018b\001\002" +
-    "\000\146\012\233\036\232\037\240\040\252\041\241\042" +
-    "\237\043\236\044\250\045\226\046\246\047\244\050\225" +
-    "\051\242\052\243\061\111\062\077\063\067\064\102\065" +
-    "\125\066\072\067\050\070\155\071\023\073\133\074\154" +
-    "\075\135\076\203\077\142\100\113\101\171\102\175\103" +
-    "\205\104\201\105\204\106\052\107\114\110\173\111\143" +
-    "\112\132\113\126\114\253\115\247\116\251\117\227\120" +
-    "\234\121\230\122\245\123\235\124\153\131\123\001\002" +
-    "\000\116\002\uffd2\005\uffd2\007\uffd2\010\uffd2\011\uffd2\012" +
-    "\uffd2\013\uffd2\014\uffd2\015\uffd2\016\uffd2\017\uffd2\020\uffd2" +
-    "\021\uffd2\022\uffd2\023\uffd2\032\uffd2\053\uffd2\054\uffd2\055" +
-    "\uffd2\056\uffd2\057\uffd2\060\uffd2\061\uffd2\062\uffd2\063\uffd2" +
-    "\064\uffd2\065\uffd2\066\uffd2\067\uffd2\071\uffd2\073\uffd2\075" +
-    "\uffd2\100\uffd2\101\uffd2\102\uffd2\107\uffd2\110\uffd2\111\uffd2" +
-    "\001\002\000\004\002\000\001\002\000\146\012\uffa5\036" +
-    "\uffa5\037\uffa5\040\uffa5\041\uffa5\042\uffa5\043\uffa5\044\uffa5" +
-    "\045\uffa5\046\uffa5\047\uffa5\050\uffa5\051\uffa5\052\uffa5\061" +
-    "\uffa5\062\uffa5\063\uffa5\064\uffa5\065\uffa5\066\uffa5\067\uffa5" +
-    "\070\uffa5\071\uffa5\073\uffa5\074\uffa5\075\uffa5\076\uffa5\077" +
-    "\uffa5\100\uffa5\101\uffa5\102\uffa5\103\uffa5\104\uffa5\105\uffa5" +
-    "\106\uffa5\107\uffa5\110\uffa5\111\uffa5\112\uffa5\113\uffa5\114" +
-    "\uffa5\115\uffa5\116\uffa5\117\uffa5\120\uffa5\121\uffa5\122\uffa5" +
-    "\123\uffa5\124\uffa5\131\uffa5\001\002\000\126\002\uffa7\004" +
-    "\uffa7\005\uffa7\007\uffa7\010\uffa7\011\uffa7\012\uffa7\013\uffa7" +
-    "\014\uffa7\015\uffa7\016\uffa7\017\uffa7\020\uffa7\021\uffa7\022" +
-    "\uffa7\023\uffa7\024\uffa7\025\uffa7\032\uffa7\053\uffa7\054\uffa7" +
-    "\055\uffa7\056\uffa7\057\uffa7\060\uffa7\061\uffa7\062\uffa7\063" +
-    "\uffa7\064\uffa7\065\uffa7\066\uffa7\067\uffa7\071\uffa7\073\uffa7" +
-    "\074\uffa7\075\uffa7\100\uffa7\101\uffa7\102\uffa7\107\uffa7\110" +
-    "\uffa7\111\uffa7\001\002\000\146\012\uffab\036\uffab\037\uffab" +
-    "\040\uffab\041\uffab\042\uffab\043\uffab\044\uffab\045\uffab\046" +
-    "\uffab\047\uffab\050\uffab\051\uffab\052\uffab\061\uffab\062\uffab" +
-    "\063\uffab\064\uffab\065\uffab\066\uffab\067\uffab\070\uffab\071" +
-    "\uffab\073\uffab\074\uffab\075\uffab\076\uffab\077\uffab\100\uffab" +
-    "\101\uffab\102\uffab\103\uffab\104\uffab\105\uffab\106\uffab\107" +
-    "\uffab\110\uffab\111\uffab\112\uffab\113\uffab\114\uffab\115\uffab" +
-    "\116\uffab\117\uffab\120\uffab\121\uffab\122\uffab\123\uffab\124" +
-    "\uffab\131\uffab\001\002\000\200\006\101\010\076\011\134" +
-    "\012\107\024\022\025\006\027\070\030\117\033\071\034" +
-    "\120\036\040\037\156\040\145\041\045\042\004\043\041" +
-    "\044\010\045\020\046\012\047\031\050\110\051\066\052" +
-    "\061\061\111\062\077\063\067\064\102\065\125\066\072" +
-    "\067\050\070\155\071\023\073\133\074\154\075\135\076" +
-    "\203\077\142\100\113\101\171\102\175\103\205\104\201" +
-    "\105\204\106\052\107\114\110\173\111\143\112\132\113" +
-    "\126\114\024\115\016\116\047\117\124\120\141\121\056" +
-    "\122\051\123\055\124\153\125\034\126\035\127\104\130" +
-    "\167\131\123\001\002\000\024\002\ufff0\005\ufff0\007\ufff0" +
-    "\032\ufff0\100\ufff0\101\ufff0\107\ufff0\110\200\111\ufff0\001" +
-    "\002\000\124\002\uffbc\005\uffbc\007\uffbc\010\uffbc\011\uffbc" +
-    "\012\uffbc\013\uffbc\014\uffbc\015\uffbc\016\uffbc\017\uffbc\020" +
-    "\uffbc\021\uffbc\022\uffbc\023\uffbc\024\375\025\376\032\uffbc" +
-    "\053\uffbc\054\uffbc\055\uffbc\056\uffbc\057\uffbc\060\uffbc\061" +
-    "\uffbc\062\uffbc\063\uffbc\064\uffbc\065\uffbc\066\uffbc\067\uffbc" +
-    "\071\uffbc\073\uffbc\074\uffbc\075\uffbc\100\uffbc\101\uffbc\102" +
-    "\uffbc\107\uffbc\110\uffbc\111\uffbc\001\002\000\146\012\uffad" +
-    "\036\uffad\037\uffad\040\uffad\041\uffad\042\uffad\043\uffad\044" +
-    "\uffad\045\uffad\046\uffad\047\uffad\050\uffad\051\uffad\052\uffad" +
-    "\061\uffad\062\uffad\063\uffad\064\uffad\065\uffad\066\uffad\067" +
-    "\uffad\070\uffad\071\uffad\073\uffad\074\uffad\075\uffad\076\uffad" +
-    "\077\uffad\100\uffad\101\uffad\102\uffad\103\uffad\104\uffad\105" +
-    "\uffad\106\uffad\107\uffad\110\uffad\111\uffad\112\uffad\113\uffad" +
-    "\114\uffad\115\uffad\116\uffad\117\uffad\120\uffad\121\uffad\122" +
-    "\uffad\123\uffad\124\uffad\131\uffad\001\002" });
-
-  /** Access to parse-action table. */
-  public short[][] action_table() {return _action_table;}
-
-  /** <code>reduce_goto</code> table. */
-  protected static final short[][] _reduce_table = 
-    unpackFromStrings(new String[] {
-    "\000\u0192\000\174\003\137\005\041\006\111\007\150\010" +
-    "\173\021\102\023\063\025\010\026\031\032\135\033\036" +
-    "\036\157\037\161\040\167\041\053\042\136\043\077\044" +
-    "\163\045\176\046\127\047\013\052\014\053\056\054\042" +
-    "\055\032\056\043\057\126\060\171\061\074\062\026\065" +
-    "\175\066\006\067\062\070\061\071\160\072\057\073\143" +
-    "\074\114\075\052\076\020\077\165\100\004\101\164\102" +
-    "\016\103\024\104\151\105\025\106\073\107\121\110\162" +
-    "\111\104\112\130\113\120\114\012\115\115\116\035\117" +
-    "\064\120\147\121\145\122\027\123\072\001\001\000\002" +
-    "\001\001\000\002\001\001\000\120\003\137\005\041\006" +
-    "\111\007\150\010\173\021\102\023\063\025\010\026\031" +
-    "\032\135\037\161\040\167\041\053\042\136\043\077\044" +
-    "\163\045\176\046\u0192\071\160\072\057\073\143\074\114" +
-    "\075\052\076\020\077\165\100\004\101\164\102\016\103" +
-    "\024\104\151\105\025\106\073\107\121\110\162\111\104" +
-    "\112\130\113\120\122\027\123\072\001\001\000\002\001" +
-    "\001\000\002\001\001\000\046\003\137\005\041\006\111" +
-    "\007\150\021\u0124\023\063\040\u018e\071\160\072\057\103" +
-    "\024\104\151\105\025\106\073\107\121\110\162\111\104" +
-    "\112\130\113\120\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\120\003\137\005\041\006\111\007\150\010\173\021\102" +
-    "\023\063\025\010\026\031\032\135\037\161\040\167\041" +
-    "\053\042\136\043\077\044\163\045\176\046\u017c\071\160" +
-    "\072\057\073\143\074\114\075\052\076\020\077\165\100" +
-    "\004\101\164\102\016\103\024\104\151\105\025\106\073" +
-    "\107\121\110\162\111\104\112\130\113\120\122\027\123" +
-    "\072\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\046\003\137\005\041\006\111" +
-    "\007\150\021\u0124\023\063\040\u0172\071\160\072\057\103" +
-    "\024\104\151\105\025\106\073\107\121\110\162\111\104" +
-    "\112\130\113\120\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\004\034\u0158" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\010\027\u0138\063\u0137\064\u0133\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\004\125\u0125" +
-    "\001\001\000\046\003\137\005\041\006\111\007\150\021" +
-    "\u0124\023\063\040\u0122\071\160\072\057\103\024\104\151" +
-    "\105\025\106\073\107\121\110\162\111\104\112\130\113" +
-    "\120\001\001\000\016\003\137\005\041\006\111\007\150" +
-    "\021\253\022\u0121\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\126\003\137" +
-    "\005\041\006\111\007\150\010\173\021\102\023\063\025" +
-    "\010\026\031\032\135\037\161\040\167\041\053\042\136" +
-    "\043\077\044\163\045\176\046\127\047\u0120\071\160\072" +
-    "\057\073\143\074\114\075\052\076\020\077\165\100\004" +
-    "\101\164\102\016\103\024\104\151\105\025\106\073\107" +
-    "\121\110\162\111\104\112\130\113\120\120\147\121\145" +
-    "\122\027\123\072\001\001\000\002\001\001\000\004\034" +
-    "\u011f\001\001\000\172\003\137\005\041\006\111\007\150" +
-    "\010\173\021\102\023\063\025\010\026\031\032\135\033" +
-    "\u011c\036\157\037\161\040\167\041\053\042\136\043\077" +
-    "\044\163\045\176\046\127\047\013\052\014\053\056\054" +
-    "\042\055\032\056\043\057\126\060\171\061\074\062\026" +
-    "\065\175\066\006\067\062\070\061\071\160\072\057\073" +
-    "\143\074\114\075\052\076\020\077\165\100\004\101\164" +
-    "\102\016\103\024\104\151\105\025\106\073\107\121\110" +
-    "\162\111\104\112\130\113\120\115\115\116\035\117\064" +
-    "\120\147\121\145\122\027\123\072\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\126\003" +
-    "\137\005\041\006\111\007\150\010\173\021\102\023\063" +
-    "\025\010\026\031\032\135\037\161\040\167\041\053\042" +
-    "\136\043\077\044\163\045\176\046\127\047\373\071\160" +
-    "\072\057\073\143\074\114\075\052\076\020\077\165\100" +
-    "\004\101\164\102\016\103\024\104\151\105\025\106\073" +
-    "\107\121\110\162\111\104\112\130\113\120\120\147\121" +
-    "\145\122\027\123\072\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\004\034\211\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\152\003\137\005\041\006" +
-    "\111\007\150\010\173\021\102\023\063\025\010\026\031" +
-    "\032\135\037\161\040\167\041\053\042\136\043\077\044" +
-    "\163\045\176\046\127\047\013\052\014\053\056\054\042" +
-    "\055\032\056\043\057\126\060\171\062\026\067\062\070" +
-    "\201\071\160\072\057\073\143\074\114\075\052\076\020" +
-    "\077\165\100\004\101\164\102\016\103\024\104\151\105" +
-    "\025\106\073\107\121\110\162\111\104\112\130\113\120" +
-    "\120\147\121\145\122\027\123\072\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\136\003\137\005\041\006\111\007" +
-    "\150\010\173\021\102\023\063\025\010\026\031\032\135" +
-    "\037\161\040\167\041\053\042\136\043\077\044\163\045" +
-    "\176\046\127\047\013\052\014\053\056\054\210\055\032" +
-    "\071\160\072\057\073\143\074\114\075\052\076\020\077" +
-    "\165\100\004\101\164\102\016\103\024\104\151\105\025" +
-    "\106\073\107\121\110\162\111\104\112\130\113\120\120" +
-    "\147\121\145\122\027\123\072\001\001\000\136\003\137" +
-    "\005\041\006\111\007\150\010\173\021\102\023\063\025" +
-    "\010\026\031\032\135\037\161\040\167\041\053\042\136" +
-    "\043\077\044\163\045\176\046\127\047\013\052\014\053" +
-    "\056\054\207\055\032\071\160\072\057\073\143\074\114" +
-    "\075\052\076\020\077\165\100\004\101\164\102\016\103" +
-    "\024\104\151\105\025\106\073\107\121\110\162\111\104" +
-    "\112\130\113\120\120\147\121\145\122\027\123\072\001" +
-    "\001\000\002\001\001\000\002\001\001\000\004\124\212" +
-    "\001\001\000\002\001\001\000\172\003\137\005\041\006" +
-    "\111\007\150\010\173\021\102\023\063\025\010\026\031" +
-    "\032\135\033\214\036\157\037\161\040\167\041\053\042" +
-    "\136\043\077\044\163\045\176\046\127\047\013\052\014" +
-    "\053\056\054\042\055\032\056\043\057\126\060\171\061" +
-    "\074\062\026\065\175\066\006\067\062\070\061\071\160" +
-    "\072\057\073\143\074\114\075\052\076\020\077\165\100" +
-    "\004\101\164\102\016\103\024\104\151\105\025\106\073" +
-    "\107\121\110\162\111\104\112\130\113\120\115\115\116" +
-    "\035\117\064\120\147\121\145\122\027\123\072\001\001" +
-    "\000\002\001\001\000\170\003\137\005\041\006\111\007" +
-    "\150\010\173\021\102\023\063\025\010\026\031\032\135" +
-    "\036\157\037\161\040\167\041\053\042\136\043\077\044" +
-    "\163\045\176\046\127\047\013\052\014\053\056\054\042" +
-    "\055\032\056\043\057\126\060\171\061\217\062\026\065" +
-    "\175\066\006\067\062\070\061\071\160\072\057\073\143" +
-    "\074\114\075\052\076\020\077\165\100\004\101\164\102" +
-    "\016\103\024\104\151\105\025\106\073\107\121\110\162" +
-    "\111\104\112\130\113\120\115\115\116\035\117\064\120" +
-    "\147\121\145\122\027\123\072\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\170\003\137\005" +
-    "\041\006\111\007\150\010\173\021\102\023\063\025\010" +
-    "\026\031\032\135\036\157\037\161\040\167\041\053\042" +
-    "\136\043\077\044\163\045\176\046\127\047\013\052\014" +
-    "\053\056\054\042\055\032\056\043\057\126\060\171\061" +
-    "\222\062\026\065\175\066\006\067\062\070\061\071\160" +
-    "\072\057\073\143\074\114\075\052\076\020\077\165\100" +
-    "\004\101\164\102\016\103\024\104\151\105\025\106\073" +
-    "\107\121\110\162\111\104\112\130\113\120\115\115\116" +
-    "\035\117\064\120\147\121\145\122\027\123\072\001\001" +
-    "\000\002\001\001\000\016\003\137\005\041\006\111\007" +
-    "\150\021\253\022\230\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\170\003\137\005\041\006\111\007\150\010\173\021\102" +
-    "\023\063\025\010\026\031\032\135\036\157\037\161\040" +
-    "\167\041\053\042\136\043\077\044\163\045\176\046\127" +
-    "\047\013\052\014\053\056\054\042\055\032\056\043\057" +
-    "\126\060\171\061\255\062\026\065\175\066\006\067\062" +
-    "\070\061\071\160\072\057\073\143\074\114\075\052\076" +
-    "\020\077\165\100\004\101\164\102\016\103\024\104\151" +
-    "\105\025\106\073\107\121\110\162\111\104\112\130\113" +
-    "\120\115\115\116\035\117\064\120\147\121\145\122\027" +
-    "\123\072\001\001\000\002\001\001\000\020\003\137\005" +
-    "\041\006\111\007\150\021\253\022\260\035\257\001\001" +
-    "\000\002\001\001\000\002\001\001\000\170\003\137\005" +
-    "\041\006\111\007\150\010\173\021\102\023\063\025\010" +
-    "\026\031\032\135\036\157\037\161\040\167\041\053\042" +
-    "\136\043\077\044\163\045\176\046\127\047\013\052\014" +
-    "\053\056\054\042\055\032\056\043\057\126\060\171\061" +
-    "\262\062\026\065\175\066\006\067\062\070\061\071\160" +
-    "\072\057\073\143\074\114\075\052\076\020\077\165\100" +
-    "\004\101\164\102\016\103\024\104\151\105\025\106\073" +
-    "\107\121\110\162\111\104\112\130\113\120\115\115\116" +
-    "\035\117\064\120\147\121\145\122\027\123\072\001\001" +
-    "\000\002\001\001\000\002\001\001\000\170\003\137\005" +
-    "\041\006\111\007\150\010\173\021\102\023\063\025\010" +
-    "\026\031\032\135\036\157\037\161\040\167\041\053\042" +
-    "\136\043\077\044\163\045\176\046\127\047\013\052\014" +
-    "\053\056\054\042\055\032\056\043\057\126\060\171\061" +
-    "\265\062\026\065\175\066\006\067\062\070\061\071\160" +
-    "\072\057\073\143\074\114\075\052\076\020\077\165\100" +
-    "\004\101\164\102\016\103\024\104\151\105\025\106\073" +
-    "\107\121\110\162\111\104\112\130\113\120\115\115\116" +
-    "\035\117\064\120\147\121\145\122\027\123\072\001\001" +
-    "\000\002\001\001\000\016\003\137\005\041\006\111\007" +
-    "\150\021\253\022\267\001\001\000\002\001\001\000\170" +
-    "\003\137\005\041\006\111\007\150\010\173\021\102\023" +
-    "\063\025\010\026\031\032\135\036\157\037\161\040\167" +
-    "\041\053\042\136\043\077\044\163\045\176\046\127\047" +
-    "\013\052\014\053\056\054\042\055\032\056\043\057\126" +
-    "\060\171\061\271\062\026\065\175\066\006\067\062\070" +
-    "\061\071\160\072\057\073\143\074\114\075\052\076\020" +
-    "\077\165\100\004\101\164\102\016\103\024\104\151\105" +
-    "\025\106\073\107\121\110\162\111\104\112\130\113\120" +
-    "\115\115\116\035\117\064\120\147\121\145\122\027\123" +
-    "\072\001\001\000\002\001\001\000\002\001\001\000\172" +
-    "\003\137\005\041\006\111\007\150\010\173\021\102\023" +
-    "\063\025\010\026\031\032\135\033\274\036\157\037\161" +
-    "\040\167\041\053\042\136\043\077\044\163\045\176\046" +
-    "\127\047\013\052\014\053\056\054\042\055\032\056\043" +
-    "\057\126\060\171\061\074\062\026\065\175\066\006\067" +
-    "\062\070\061\071\160\072\057\073\143\074\114\075\052" +
-    "\076\020\077\165\100\004\101\164\102\016\103\024\104" +
-    "\151\105\025\106\073\107\121\110\162\111\104\112\130" +
-    "\113\120\115\115\116\035\117\064\120\147\121\145\122" +
-    "\027\123\072\001\001\000\002\001\001\000\002\001\001" +
-    "\000\170\003\137\005\041\006\111\007\150\010\173\021" +
-    "\102\023\063\025\010\026\031\032\135\036\157\037\161" +
-    "\040\167\041\053\042\136\043\077\044\163\045\176\046" +
-    "\127\047\013\052\014\053\056\054\042\055\032\056\043" +
-    "\057\126\060\171\061\277\062\026\065\175\066\006\067" +
-    "\062\070\061\071\160\072\057\073\143\074\114\075\052" +
-    "\076\020\077\165\100\004\101\164\102\016\103\024\104" +
-    "\151\105\025\106\073\107\121\110\162\111\104\112\130" +
-    "\113\120\115\115\116\035\117\064\120\147\121\145\122" +
-    "\027\123\072\001\001\000\002\001\001\000\170\003\137" +
-    "\005\041\006\111\007\150\010\173\021\102\023\063\025" +
-    "\010\026\031\032\135\036\157\037\161\040\167\041\053" +
-    "\042\136\043\077\044\163\045\176\046\127\047\013\052" +
-    "\014\053\056\054\042\055\032\056\043\057\126\060\171" +
-    "\061\301\062\026\065\175\066\006\067\062\070\061\071" +
-    "\160\072\057\073\143\074\114\075\052\076\020\077\165" +
-    "\100\004\101\164\102\016\103\024\104\151\105\025\106" +
-    "\073\107\121\110\162\111\104\112\130\113\120\115\115" +
-    "\116\035\117\064\120\147\121\145\122\027\123\072\001" +
-    "\001\000\002\001\001\000\002\001\001\000\020\003\137" +
-    "\005\041\006\111\007\150\016\307\017\306\021\310\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\016\003\137\005" +
-    "\041\006\111\007\150\013\313\021\314\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\006\005\323\010\327\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\006\004\371\005\372\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\116" +
-    "\003\137\005\041\006\111\007\150\010\173\021\102\023" +
-    "\063\025\010\026\031\032\135\037\161\040\167\041\053" +
-    "\042\136\043\077\044\163\045\377\071\160\072\057\073" +
-    "\143\074\114\075\052\076\020\077\165\100\004\101\164" +
-    "\102\016\103\024\104\151\105\025\106\073\107\121\110" +
-    "\162\111\104\112\130\113\120\122\027\123\072\001\001" +
-    "\000\116\003\137\005\041\006\111\007\150\010\173\021" +
-    "\102\023\063\025\010\026\031\032\135\037\161\040\167" +
-    "\041\053\042\136\043\077\044\163\045\376\071\160\072" +
-    "\057\073\143\074\114\075\052\076\020\077\165\100\004" +
-    "\101\164\102\016\103\024\104\151\105\025\106\073\107" +
-    "\121\110\162\111\104\112\130\113\120\122\027\123\072" +
-    "\001\001\000\002\001\001\000\002\001\001\000\142\003" +
-    "\137\005\041\006\111\007\150\010\173\021\102\023\063" +
-    "\025\010\026\031\032\135\037\161\040\167\041\053\042" +
-    "\136\043\077\044\163\045\176\046\127\047\013\052\014" +
-    "\053\056\054\042\055\032\056\u010b\060\171\071\160\072" +
-    "\057\073\143\074\114\075\052\076\020\077\165\100\004" +
-    "\101\164\102\016\103\024\104\151\105\025\106\073\107" +
-    "\121\110\162\111\104\112\130\113\120\120\147\121\145" +
-    "\122\027\123\072\001\001\000\142\003\137\005\041\006" +
-    "\111\007\150\010\173\021\102\023\063\025\010\026\031" +
-    "\032\135\037\161\040\167\041\053\042\136\043\077\044" +
-    "\163\045\176\046\127\047\013\052\014\053\056\054\042" +
-    "\055\032\056\u010a\060\171\071\160\072\057\073\143\074" +
-    "\114\075\052\076\020\077\165\100\004\101\164\102\016" +
-    "\103\024\104\151\105\025\106\073\107\121\110\162\111" +
-    "\104\112\130\113\120\120\147\121\145\122\027\123\072" +
-    "\001\001\000\142\003\137\005\041\006\111\007\150\010" +
-    "\173\021\102\023\063\025\010\026\031\032\135\037\161" +
-    "\040\167\041\053\042\136\043\077\044\163\045\176\046" +
-    "\127\047\013\052\014\053\056\054\042\055\032\056\u0109" +
-    "\060\171\071\160\072\057\073\143\074\114\075\052\076" +
-    "\020\077\165\100\004\101\164\102\016\103\024\104\151" +
-    "\105\025\106\073\107\121\110\162\111\104\112\130\113" +
-    "\120\120\147\121\145\122\027\123\072\001\001\000\142" +
-    "\003\137\005\041\006\111\007\150\010\173\021\102\023" +
-    "\063\025\010\026\031\032\135\037\161\040\167\041\053" +
-    "\042\136\043\077\044\163\045\176\046\127\047\013\052" +
-    "\014\053\056\054\042\055\032\056\u0104\060\171\071\160" +
-    "\072\057\073\143\074\114\075\052\076\020\077\165\100" +
-    "\004\101\164\102\016\103\024\104\151\105\025\106\073" +
-    "\107\121\110\162\111\104\112\130\113\120\120\147\121" +
-    "\145\122\027\123\072\001\001\000\002\001\001\000\140" +
-    "\003\137\005\041\006\111\007\150\010\173\021\102\023" +
-    "\063\025\010\026\031\032\135\037\161\040\167\041\053" +
-    "\042\136\043\077\044\163\045\176\046\127\047\013\052" +
-    "\014\053\056\054\042\055\032\060\u0108\071\160\072\057" +
-    "\073\143\074\114\075\052\076\020\077\165\100\004\101" +
-    "\164\102\016\103\024\104\151\105\025\106\073\107\121" +
-    "\110\162\111\104\112\130\113\120\120\147\121\145\122" +
-    "\027\123\072\001\001\000\140\003\137\005\041\006\111" +
-    "\007\150\010\173\021\102\023\063\025\010\026\031\032" +
-    "\135\037\161\040\167\041\053\042\136\043\077\044\163" +
-    "\045\176\046\127\047\013\052\014\053\056\054\042\055" +
-    "\032\060\u0107\071\160\072\057\073\143\074\114\075\052" +
-    "\076\020\077\165\100\004\101\164\102\016\103\024\104" +
-    "\151\105\025\106\073\107\121\110\162\111\104\112\130" +
-    "\113\120\120\147\121\145\122\027\123\072\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\004\005\u0110\001\001\000\002" +
-    "\001\001\000\016\003\137\005\041\006\111\007\150\021" +
-    "\253\022\u0112\001\001\000\002\001\001\000\170\003\137" +
-    "\005\041\006\111\007\150\010\173\021\102\023\063\025" +
-    "\010\026\031\032\135\036\157\037\161\040\167\041\053" +
-    "\042\136\043\077\044\163\045\176\046\127\047\013\052" +
-    "\014\053\056\054\042\055\032\056\043\057\126\060\171" +
-    "\061\u0114\062\026\065\175\066\006\067\062\070\061\071" +
-    "\160\072\057\073\143\074\114\075\052\076\020\077\165" +
-    "\100\004\101\164\102\016\103\024\104\151\105\025\106" +
-    "\073\107\121\110\162\111\104\112\130\113\120\115\115" +
-    "\116\035\117\064\120\147\121\145\122\027\123\072\001" +
-    "\001\000\002\001\001\000\172\003\137\005\041\006\111" +
-    "\007\150\010\173\021\102\023\063\025\010\026\031\031" +
-    "\u0116\032\135\036\157\037\161\040\167\041\053\042\136" +
-    "\043\077\044\163\045\176\046\127\047\013\052\014\053" +
-    "\056\054\042\055\032\056\043\057\126\060\171\061\u0117" +
-    "\062\026\065\175\066\006\067\062\070\061\071\160\072" +
-    "\057\073\143\074\114\075\052\076\020\077\165\100\004" +
-    "\101\164\102\016\103\024\104\151\105\025\106\073\107" +
-    "\121\110\162\111\104\112\130\113\120\115\115\116\035" +
-    "\117\064\120\147\121\145\122\027\123\072\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\170" +
-    "\003\137\005\041\006\111\007\150\010\173\021\102\023" +
-    "\063\025\010\026\031\032\135\036\157\037\161\040\167" +
-    "\041\053\042\136\043\077\044\163\045\176\046\127\047" +
-    "\013\052\014\053\056\054\042\055\032\056\043\057\126" +
-    "\060\171\061\u011b\062\026\065\175\066\006\067\062\070" +
-    "\061\071\160\072\057\073\143\074\114\075\052\076\020" +
-    "\077\165\100\004\101\164\102\016\103\024\104\151\105" +
-    "\025\106\073\107\121\110\162\111\104\112\130\113\120" +
-    "\115\115\116\035\117\064\120\147\121\145\122\027\123" +
-    "\072\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\004\124" +
-    "\212\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\150\003\137\005\041\006\111\007\150\010\173" +
-    "\021\102\023\063\025\010\026\031\032\135\037\161\040" +
-    "\167\041\053\042\136\043\077\044\163\045\176\046\127" +
-    "\047\013\052\014\053\056\054\042\055\032\056\043\057" +
-    "\126\060\171\062\026\067\u013c\071\160\072\057\073\143" +
-    "\074\114\075\052\076\020\077\165\100\004\101\164\102" +
-    "\016\103\024\104\151\105\025\106\073\107\121\110\162" +
-    "\111\104\112\130\113\120\120\147\121\145\122\027\123" +
-    "\072\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\150\003\137\005\041\006\111\007\150\010" +
-    "\173\021\102\023\063\025\010\026\031\032\135\037\161" +
-    "\040\167\041\053\042\136\043\077\044\163\045\176\046" +
-    "\127\047\013\052\014\053\056\054\042\055\032\056\043" +
-    "\057\126\060\171\062\026\067\u013b\071\160\072\057\073" +
-    "\143\074\114\075\052\076\020\077\165\100\004\101\164" +
-    "\102\016\103\024\104\151\105\025\106\073\107\121\110" +
-    "\162\111\104\112\130\113\120\120\147\121\145\122\027" +
-    "\123\072\001\001\000\150\003\137\005\041\006\111\007" +
-    "\150\010\173\021\102\023\063\025\010\026\031\032\135" +
-    "\037\161\040\167\041\053\042\136\043\077\044\163\045" +
-    "\176\046\127\047\013\052\014\053\056\054\042\055\032" +
-    "\056\043\057\126\060\171\062\026\067\u013a\071\160\072" +
-    "\057\073\143\074\114\075\052\076\020\077\165\100\004" +
-    "\101\164\102\016\103\024\104\151\105\025\106\073\107" +
-    "\121\110\162\111\104\112\130\113\120\120\147\121\145" +
-    "\122\027\123\072\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\046\003\137\005\041\006\111\007" +
-    "\150\020\u0143\021\u0146\030\u0140\051\u0142\072\u0141\103\024" +
-    "\104\151\105\025\106\073\107\121\110\162\111\104\112" +
-    "\130\113\120\001\001\000\004\024\u014c\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\020\003\137\005\041\006\111\007\150\015" +
-    "\u0150\017\u0151\021\310\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\020\003\137\005\041\006" +
-    "\111\007\150\011\u0154\014\u0155\021\u0156\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\004\124\212\001\001\000\020\003\137\005\041" +
-    "\006\111\007\150\012\u015c\014\u015d\021\u0156\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\016\003\137\005\041\006\111\007\150\013" +
-    "\u0160\021\314\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\020\003\137\005\041" +
-    "\006\111\007\150\021\253\022\260\035\u0167\001\001\000" +
-    "\002\001\001\000\170\003\137\005\041\006\111\007\150" +
-    "\010\173\021\102\023\063\025\010\026\031\032\135\036" +
-    "\157\037\161\040\167\041\053\042\136\043\077\044\163" +
-    "\045\176\046\127\047\013\052\014\053\056\054\042\055" +
-    "\032\056\043\057\126\060\171\061\u0169\062\026\065\175" +
-    "\066\006\067\062\070\061\071\160\072\057\073\143\074" +
-    "\114\075\052\076\020\077\165\100\004\101\164\102\016" +
-    "\103\024\104\151\105\025\106\073\107\121\110\162\111" +
-    "\104\112\130\113\120\115\115\116\035\117\064\120\147" +
-    "\121\145\122\027\123\072\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\020\003\137\005\041\006\111\007\150\020" +
-    "\u0170\021\u0146\050\u016f\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\146\003\137\005\041\006\111\007\150\010\173" +
-    "\021\102\023\063\025\010\026\031\032\135\037\161\040" +
-    "\167\041\053\042\136\043\077\044\163\045\176\046\127" +
-    "\047\013\052\014\053\056\054\042\055\032\056\043\057" +
-    "\126\060\171\062\u0179\071\160\072\057\073\143\074\114" +
-    "\075\052\076\020\077\165\100\004\101\164\102\016\103" +
-    "\024\104\151\105\025\106\073\107\121\110\162\111\104" +
-    "\112\130\113\120\120\147\121\145\122\027\123\072\001" +
-    "\001\000\144\003\137\005\041\006\111\007\150\010\173" +
-    "\021\102\023\063\025\010\026\031\032\135\037\161\040" +
-    "\167\041\053\042\136\043\077\044\163\045\176\046\127" +
-    "\047\013\052\014\053\056\054\042\055\032\056\043\057" +
-    "\u0178\060\171\071\160\072\057\073\143\074\114\075\052" +
-    "\076\020\077\165\100\004\101\164\102\016\103\024\104" +
-    "\151\105\025\106\073\107\121\110\162\111\104\112\130" +
-    "\113\120\120\147\121\145\122\027\123\072\001\001\000" +
-    "\144\003\137\005\041\006\111\007\150\010\173\021\102" +
-    "\023\063\025\010\026\031\032\135\037\161\040\167\041" +
-    "\053\042\136\043\077\044\163\045\176\046\127\047\013" +
-    "\052\014\053\056\054\042\055\032\056\043\057\u0177\060" +
-    "\171\071\160\072\057\073\143\074\114\075\052\076\020" +
-    "\077\165\100\004\101\164\102\016\103\024\104\151\105" +
-    "\025\106\073\107\121\110\162\111\104\112\130\113\120" +
-    "\120\147\121\145\122\027\123\072\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\006\111\u017f\113\u0180\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\046\003\137\005\041\006\111\007\150\020\u0143\021" +
-    "\u0146\030\u0140\051\u0188\072\u0141\103\024\104\151\105\025" +
-    "\106\073\107\121\110\162\111\104\112\130\113\120\001" +
-    "\001\000\002\001\001\000\002\001\001\000\020\003\137" +
-    "\005\041\006\111\007\150\020\u0170\021\u0146\050\u018b\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\154\003\137\005" +
-    "\041\006\111\007\150\010\173\021\102\023\063\025\010" +
-    "\026\031\032\135\037\161\040\167\041\053\042\136\043" +
-    "\077\044\163\045\176\046\127\047\013\052\014\053\056" +
-    "\054\042\055\032\056\043\057\126\060\171\062\026\065" +
-    "\u0191\067\062\070\061\071\160\072\057\073\143\074\114" +
-    "\075\052\076\020\077\165\100\004\101\164\102\016\103" +
-    "\024\104\151\105\025\106\073\107\121\110\162\111\104" +
-    "\112\130\113\120\120\147\121\145\122\027\123\072\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "" });
-
-  /** Access to <code>reduce_goto</code> table. */
-  public short[][] reduce_table() {return _reduce_table;}
-
-  /** Instance of action encapsulation class. */
-  protected CUP$XPathCup$actions action_obj;
-
-  /** Action encapsulation object initializer. */
-  protected void init_actions()
-    {
-      action_obj = new CUP$XPathCup$actions(this);
-    }
-
-  /** Invoke a user supplied parse action. */
-  public java_cup.runtime.Symbol do_action(
-    int                        act_num,
-    java_cup.runtime.lr_parser parser,
-    java.util.Stack            stack,
-    int                        top)
-    throws java.lang.Exception
-  {
-    /* call code in generated class */
-    return action_obj.CUP$XPathCup$do_action(act_num, parser, stack, top);
-  }
-
-  /** Indicates start state. */
-  public int start_state() {return 0;}
-  /** Indicates start production. */
-  public int start_production() {return 1;}
-
-  /** <code>EOF</code> Symbol index. */
-  public int EOF_sym() {return 0;}
-
-  /** <code>error</code> Symbol index. */
-  public int error_sym() {return 1;}
-
-
-
-
-public void report_error(String message, Object info) {
-	String err = "Parser error: ";
-
-	XPathFlex lexer = (XPathFlex) getScanner();
-
-	err += "line " + lexer.lineno();
-	err += " col " + lexer.colno();
-	err += ": " + lexer.yytext();
-
-	
-	throw new CupError(err);
-}
-
-}
-
-/** Cup generated class to encapsulate user supplied action code.*/
-class CUP$XPathCup$actions {
-  private final XPathCup parser;
-
-  /** Constructor */
-  CUP$XPathCup$actions(XPathCup parser) {
-    this.parser = parser;
-  }
-
-  /** Method with the actual generated action code. */
-  public final java_cup.runtime.Symbol CUP$XPathCup$do_action(
-    int                        CUP$XPathCup$act_num,
-    java_cup.runtime.lr_parser CUP$XPathCup$parser,
-    java.util.Stack            CUP$XPathCup$stack,
-    int                        CUP$XPathCup$top)
-    throws java.lang.Exception
-    {
-      /* Symbol object for return from actions */
-      java_cup.runtime.Symbol CUP$XPathCup$result;
-
-      /* select the action based on the action number */
-      switch (CUP$XPathCup$act_num)
-        {
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 270: // UnqualifiedNCName ::= MOD NT$0 STAR 
-            {
-              String RESULT = null;
-              // propagate RESULT from NT$0
-              if ( ((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value != null )
-                RESULT = (String) ((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int n0left = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int n0right = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n0 = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("*"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 269: // NT$0 ::= 
-            {
-              Object RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("mod"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(83/*NT$0*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 268: // UnqualifiedNCName ::= IDIV 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("idiv"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 267: // UnqualifiedNCName ::= DIV 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("div"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 266: // UnqualifiedNCName ::= OR 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("or"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 265: // UnqualifiedNCName ::= AND 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("and"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 264: // UnqualifiedNCName ::= ELSE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("else"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 263: // UnqualifiedNCName ::= THEN 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("then"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 262: // UnqualifiedNCName ::= EVERY 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("every"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 261: // UnqualifiedNCName ::= SOME 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("some"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 260: // UnqualifiedNCName ::= SATISFIES 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("satisfies"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 259: // UnqualifiedNCName ::= RETURN 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("return"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 258: // UnqualifiedNCName ::= IN 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("in"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 257: // UnqualifiedNCName ::= FOR 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("for"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 256: // UnqualifiedNCName ::= IS 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("is"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 255: // UnqualifiedNCName ::= CAST 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("cast"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 254: // UnqualifiedNCName ::= CASTABLE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("castable"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 253: // UnqualifiedNCName ::= TREAT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("as"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 252: // UnqualifiedNCName ::= OF 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("of"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 251: // UnqualifiedNCName ::= INSTANCE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("instance"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 250: // UnqualifiedNCName ::= EXCEPT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("except"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 249: // UnqualifiedNCName ::= INTERSECT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("intersect"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 248: // UnqualifiedNCName ::= UNION 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("union"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 247: // UnqualifiedNCName ::= ANCESTOR_OR_SELF 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("ancestor-or-self"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 246: // UnqualifiedNCName ::= PRECEDING 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("preceding"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 245: // UnqualifiedNCName ::= PRECEDING_SIBLING 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT  = new String("preceding-sibling"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 244: // UnqualifiedNCName ::= ANCESTOR 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("ancestor"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 243: // UnqualifiedNCName ::= PARENT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("parent"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 242: // UnqualifiedNCName ::= NAMESPACE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("namespace"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 241: // UnqualifiedNCName ::= FOLLOWING 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("following"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 240: // UnqualifiedNCName ::= FOLLOWING_SIBLING 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("following-sibling"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 239: // UnqualifiedNCName ::= DESCENDANT_OR_SELF 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("descendant-of-self"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 238: // UnqualifiedNCName ::= SELF 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("self"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 237: // UnqualifiedNCName ::= DESCENDANT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("descendant"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 236: // UnqualifiedNCName ::= CHILD 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("child"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 235: // UnqualifiedNCName ::= TO 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("to"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 234: // UnqualifiedNCName ::= NCNAME 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*UnqualifiedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 233: // NCName ::= STAR 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("*"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 232: // NCName ::= MOD 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("mod"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 231: // NCName ::= TYPESWITCH 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("typeswitch"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 230: // NCName ::= TEXT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("text"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 229: // NCName ::= SCHEMA_ELEMENT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("schema-element"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 228: // NCName ::= SCHEMA_ATTRIBUTE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("schema-attribute"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 227: // NCName ::= PROCESSING_INSTRUCTION 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("processing-instruction"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 226: // NCName ::= NODE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("node"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 225: // NCName ::= ITEM 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("item"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 224: // NCName ::= EMPTY_SEQUENCE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("empty-sequence"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 223: // NCName ::= ELEMENT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("element"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 222: // NCName ::= DOCUMENT_NODE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("document-node"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 221: // NCName ::= COMMENT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("comment"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 220: // NCName ::= IDIV 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("idiv"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 219: // NCName ::= DIV 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("div"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 218: // NCName ::= OR 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("or"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 217: // NCName ::= AND 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("and"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 216: // NCName ::= ELSE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("else"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 215: // NCName ::= THEN 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("then"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 214: // NCName ::= IF 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("if"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 213: // NCName ::= EVERY 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("every"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 212: // NCName ::= SOME 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("some"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 211: // NCName ::= SATISFIES 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("satisfies"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 210: // NCName ::= RETURN 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("return"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 209: // NCName ::= IN 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("in"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 208: // NCName ::= FOR 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("for"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 207: // NCName ::= IS 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("is"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 206: // NCName ::= CAST 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("cast"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 205: // NCName ::= CASTABLE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("castable"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 204: // NCName ::= TREAT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("as"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 203: // NCName ::= OF 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("of"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 202: // NCName ::= INSTANCE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("instance"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 201: // NCName ::= EXCEPT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("except"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 200: // NCName ::= INTERSECT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("intersect"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 199: // NCName ::= UNION 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("union"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 198: // NCName ::= ANCESTOR_OR_SELF 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("ancestor-or-self"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 197: // NCName ::= PRECEDING 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("preceding"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 196: // NCName ::= PRECEDING_SIBLING 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT  = new String("preceding-sibling"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 195: // NCName ::= ANCESTOR 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("ancestor"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 194: // NCName ::= PARENT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("parent"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 193: // NCName ::= NAMESPACE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("namespace"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 192: // NCName ::= FOLLOWING 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("following"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 191: // NCName ::= FOLLOWING_SIBLING 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("following-sibling"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 190: // NCName ::= DESCENDANT_OR_SELF 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("descendant-of-self"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 189: // NCName ::= SELF 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("self"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 188: // NCName ::= ATTRIBUTE 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("attribute"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 187: // NCName ::= DESCENDANT 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("descendant"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 186: // NCName ::= CHILD 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("child"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 185: // NCName ::= TO 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new String("to"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 184: // NCName ::= NCNAME 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 183: // UnqualifiedLocalPart ::= UnqualifiedNCName 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(5/*UnqualifiedLocalPart*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 182: // LocalPart ::= NCName 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*LocalPart*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 181: // Prefix ::= NCName 
-            {
-              String RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*Prefix*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 180: // QName ::= Prefix COLON LocalPart 
-            {
-              QName RESULT = null;
-		int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		String p = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String l = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new QName(p,l); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(15/*QName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 179: // QName ::= UnqualifiedLocalPart 
-            {
-              QName RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String l = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new QName(l); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(15/*QName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 178: // VarName ::= QName 
-            {
-              QName RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(16/*VarName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 177: // StringLiteral ::= STRING 
-            {
-              StringLiteral RESULT = null;
-		int sleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int sright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String s = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new StringLiteral(s); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(6/*StringLiteral*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 176: // DoubleLiteral ::= DOUBLE 
-            {
-              DoubleLiteral RESULT = null;
-		int dleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int dright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Double d = (Double)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new DoubleLiteral(d.doubleValue()); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(64/*DoubleLiteral*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 175: // DecimalLiteral ::= DECIMAL 
-            {
-              DecimalLiteral RESULT = null;
-		int dleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int dright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		BigDecimal d = (BigDecimal)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new DecimalLiteral(d); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(62/*DecimalLiteral*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 174: // IntegerLiteral ::= INTEGER 
-            {
-              IntegerLiteral RESULT = null;
-		int ileft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int iright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		BigInteger i = (BigInteger)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new IntegerLiteral(i); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(63/*IntegerLiteral*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 173: // TypeName ::= QName 
-            {
-              QName RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(9/*TypeName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 172: // ElementName ::= QName 
-            {
-              QName RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(10/*ElementName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 171: // AttributeName ::= QName 
-            {
-              QName RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(13/*AttributeName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 170: // ElementDeclaration ::= ElementName 
-            {
-              QName RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(7/*ElementDeclaration*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 169: // SchemaElementTest ::= SCHEMA_ELEMENT LPAR ElementDeclaration RPAR 
-            {
-              SchemaElemTest RESULT = null;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		QName e = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		 RESULT = new SchemaElemTest(e); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(73/*SchemaElementTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 168: // ElementNameOrWildcard ::= STAR 
-            {
-              QName RESULT = null;
-		 RESULT = null; /* XXX */ 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(8/*ElementNameOrWildcard*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 167: // ElementNameOrWildcard ::= ElementName 
-            {
-              QName RESULT = null;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName e = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = e; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(8/*ElementNameOrWildcard*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 166: // ElementTest ::= ELEMENT LPAR ElementNameOrWildcard COMMA TypeName QUESTIONMARK RPAR 
-            {
-              AttrElemTest RESULT = null;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-4)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-4)).right;
-		QName e = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-4)).value;
-		int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		QName t = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		
-			     // XXX: wildcard!!
-			     boolean wild = false;
-			     if(e == null)
-			     	wild = true;
-				
-			     RESULT = new ElementTest(e,wild,t,true);
-			  
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(71/*ElementTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-6)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 165: // ElementTest ::= ELEMENT LPAR ElementNameOrWildcard COMMA TypeName RPAR 
-            {
-              AttrElemTest RESULT = null;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).right;
-		QName e = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).value;
-		int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		QName t = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		
-			     // XXX: wildcard!!
-			     boolean wild = false;
-			     if(e == null)
-			     	wild = true;
-				
-			     RESULT = new ElementTest(e,wild,t);
-			  
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(71/*ElementTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 164: // ElementTest ::= ELEMENT LPAR ElementNameOrWildcard RPAR 
-            {
-              AttrElemTest RESULT = null;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		QName e = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		
-			     // XXX: wildcard!!
-			     boolean wild = false;
-			     if(e == null)
-			     	wild = true;
-				
-			     RESULT = new ElementTest(e,wild);
-			  
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(71/*ElementTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 163: // ElementTest ::= ELEMENT LPAR RPAR 
-            {
-              AttrElemTest RESULT = null;
-		 RESULT = new ElementTest(); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(71/*ElementTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 162: // AttributeDeclaration ::= AttributeName 
-            {
-              QName RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(11/*AttributeDeclaration*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 161: // SchemaAttributeTest ::= SCHEMA_ATTRIBUTE LPAR AttributeDeclaration RPAR 
-            {
-              SchemaAttrTest RESULT = null;
-		int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		QName a = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		 RESULT = new SchemaAttrTest(a); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(72/*SchemaAttributeTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 160: // AttribNameOrWildcard ::= STAR 
-            {
-              QName RESULT = null;
-		 RESULT = null; /* XXX */ 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(12/*AttribNameOrWildcard*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 159: // AttribNameOrWildcard ::= AttributeName 
-            {
-              QName RESULT = null;
-		int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName a = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = a; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(12/*AttribNameOrWildcard*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 158: // AttributeTest ::= ATTRIBUTE LPAR AttribNameOrWildcard COMMA TypeName RPAR 
-            {
-              AttributeTest RESULT = null;
-		int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left;
-		int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).right;
-		QName a = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).value;
-		int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		QName t = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		
-			     // XXX: wildcard!!
-			     boolean wild = false;
-			     if(a == null)
-			     	wild = true;
-				
-			     RESULT = new AttributeTest(a,wild,t);
-			  
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(69/*AttributeTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 157: // AttributeTest ::= ATTRIBUTE LPAR AttribNameOrWildcard RPAR 
-            {
-              AttributeTest RESULT = null;
-		int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		QName a = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		
-			     // XXX: wildcard!!
-			     boolean wild = false;
-			     if(a == null)
-			     	wild = true;
-				
-			     RESULT = new AttributeTest(a,wild);
-			  
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(69/*AttributeTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 156: // AttributeTest ::= ATTRIBUTE LPAR RPAR 
-            {
-              AttributeTest RESULT = null;
-		 RESULT = new AttributeTest(); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(69/*AttributeTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 155: // PITest ::= PROCESSING_INSTRUCTION LPAR StringLiteral RPAR 
-            {
-              PITest RESULT = null;
-		int sleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int sright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		StringLiteral s = (StringLiteral)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		 RESULT = new PITest(s.string()); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(68/*PITest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 154: // PITest ::= PROCESSING_INSTRUCTION LPAR NCName RPAR 
-            {
-              PITest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		 RESULT = new PITest(n); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(68/*PITest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 153: // PITest ::= PROCESSING_INSTRUCTION LPAR RPAR 
-            {
-              PITest RESULT = null;
-		 RESULT = new PITest(); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(68/*PITest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 152: // CommentTest ::= COMMENT LPAR RPAR 
-            {
-              CommentTest RESULT = null;
-		 RESULT = new CommentTest(); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(67/*CommentTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 151: // TextTest ::= TEXT LPAR RPAR 
-            {
-              TextTest RESULT = null;
-		 RESULT = new TextTest(); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(66/*TextTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 150: // DocumentTest ::= DOCUMENT_NODE LPAR SchemaElementTest RPAR 
-            {
-              DocumentTest RESULT = null;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		SchemaElemTest e = (SchemaElemTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		 RESULT = new DocumentTest(DocumentTest.SCHEMA_ELEMENT,e); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(65/*DocumentTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 149: // DocumentTest ::= DOCUMENT_NODE LPAR ElementTest RPAR 
-            {
-              DocumentTest RESULT = null;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		AttrElemTest e = (AttrElemTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		 RESULT = new DocumentTest(DocumentTest.ELEMENT,e); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(65/*DocumentTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 148: // DocumentTest ::= DOCUMENT_NODE LPAR RPAR 
-            {
-              DocumentTest RESULT = null;
-		 RESULT = new DocumentTest(); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(65/*DocumentTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 147: // AnyKindTest ::= NODE LPAR RPAR 
-            {
-              AnyKindTest RESULT = null;
-		 RESULT = new AnyKindTest(); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(70/*AnyKindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 146: // KindTest ::= AnyKindTest 
-            {
-              KindTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		AnyKindTest n = (AnyKindTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 145: // KindTest ::= TextTest 
-            {
-              KindTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		TextTest n = (TextTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 144: // KindTest ::= CommentTest 
-            {
-              KindTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		CommentTest n = (CommentTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 143: // KindTest ::= PITest 
-            {
-              KindTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		PITest n = (PITest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 142: // KindTest ::= SchemaAttributeTest 
-            {
-              KindTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		SchemaAttrTest n = (SchemaAttrTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 141: // KindTest ::= SchemaElementTest 
-            {
-              KindTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		SchemaElemTest n = (SchemaElemTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 140: // KindTest ::= AttributeTest 
-            {
-              KindTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		AttributeTest n = (AttributeTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 139: // KindTest ::= ElementTest 
-            {
-              KindTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		AttrElemTest n = (AttrElemTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 138: // KindTest ::= DocumentTest 
-            {
-              KindTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		DocumentTest n = (DocumentTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 137: // AtomicType ::= QName 
-            {
-              QName RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(14/*AtomicType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 136: // ItemType ::= ITEM LPAR RPAR 
-            {
-              ItemType RESULT = null;
-		 RESULT = new ItemType(ItemType.ITEM,null); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(22/*ItemType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 135: // ItemType ::= KindTest 
-            {
-              ItemType RESULT = null;
-		int kleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int kright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		KindTest k = (KindTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new ItemType(ItemType.KINDTEST,k); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(22/*ItemType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 134: // ItemType ::= AtomicType 
-            {
-              ItemType RESULT = null;
-		int qleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int qright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName q = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new ItemType(ItemType.QNAME,q); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(22/*ItemType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 133: // OccurrenceIndicator ::= PLUS 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(SequenceType.PLUS); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(18/*OccurrenceIndicator*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 132: // OccurrenceIndicator ::= STAR 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(SequenceType.STAR); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(18/*OccurrenceIndicator*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 131: // OccurrenceIndicator ::= QUESTIONMARK 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(SequenceType.QUESTION); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(18/*OccurrenceIndicator*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 130: // SequenceType ::= EMPTY_SEQUENCE LPAR RPAR 
-            {
-              SequenceType RESULT = null;
-		 RESULT = new SequenceType(SequenceType.EMPTY, null); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(39/*SequenceType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 129: // SequenceType ::= ItemType OccurrenceIndicator 
-            {
-              SequenceType RESULT = null;
-		int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		ItemType t = (ItemType)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		int ileft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int iright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Integer i = (Integer)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new SequenceType(i.intValue(), t); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(39/*SequenceType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 128: // SequenceType ::= ItemType 
-            {
-              SequenceType RESULT = null;
-		int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		ItemType t = (ItemType)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new SequenceType(SequenceType.NONE, t); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(39/*SequenceType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 127: // SingleType ::= AtomicType QUESTIONMARK 
-            {
-              SingleType RESULT = null;
-		int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		QName t = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		 RESULT = new SingleType(t,true); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(38/*SingleType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 126: // SingleType ::= AtomicType 
-            {
-              SingleType RESULT = null;
-		int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName t = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new SingleType(t); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(38/*SingleType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 125: // FunctionCallMiddle ::= FunctionCallMiddle COMMA ExprSingle 
-            {
-              Collection RESULT = null;
-		int cleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int cright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Collection c = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-			   c.add(e);
-			   RESULT = c;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(23/*FunctionCallMiddle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 124: // FunctionCallMiddle ::= ExprSingle 
-            {
-              Collection RESULT = null;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-			   Collection c = new ArrayList();
-			   c.add(e);
-			   RESULT = c;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(23/*FunctionCallMiddle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 123: // FunctionCall ::= QName LPAR FunctionCallMiddle RPAR 
-            {
-              FunctionCall RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).right;
-		QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).value;
-		int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		Collection a = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		
-			   RESULT = new FunctionCall(n,a);
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(60/*FunctionCall*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 122: // FunctionCall ::= QName LPAR RPAR 
-            {
-              FunctionCall RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		
-			   RESULT = new FunctionCall(n,new ArrayList());
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(60/*FunctionCall*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 121: // ContextItemExpr ::= DOT 
-            {
-              CntxItemExpr RESULT = null;
-		 RESULT = new CntxItemExpr(); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(59/*ContextItemExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 120: // ParenthesizedExpr ::= LPAR Expr RPAR 
-            {
-              Collection RESULT = null;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		Collection e = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		 RESULT = e; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(24/*ParenthesizedExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 119: // ParenthesizedExpr ::= LPAR RPAR 
-            {
-              Collection RESULT = null;
-		 RESULT = new ArrayList(); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(24/*ParenthesizedExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 118: // VarRef ::= DOLLAR VarName 
-            {
-              VarRef RESULT = null;
-		int vleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int vright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName v = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new VarRef(v); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(58/*VarRef*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 117: // NumericLiteral ::= DoubleLiteral 
-            {
-              NumericLiteral RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		DoubleLiteral n = (DoubleLiteral)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(61/*NumericLiteral*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 116: // NumericLiteral ::= DecimalLiteral 
-            {
-              NumericLiteral RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		DecimalLiteral n = (DecimalLiteral)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(61/*NumericLiteral*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 115: // NumericLiteral ::= IntegerLiteral 
-            {
-              NumericLiteral RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		IntegerLiteral n = (IntegerLiteral)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(61/*NumericLiteral*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 114: // Literal ::= StringLiteral 
-            {
-              Literal RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		StringLiteral n = (StringLiteral)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(57/*Literal*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 113: // Literal ::= NumericLiteral 
-            {
-              Literal RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		NumericLiteral n = (NumericLiteral)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(57/*Literal*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 112: // PrimaryExpr ::= FunctionCall 
-            {
-              PrimaryExpr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		FunctionCall n = (FunctionCall)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(29/*PrimaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 111: // PrimaryExpr ::= ContextItemExpr 
-            {
-              PrimaryExpr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		CntxItemExpr n = (CntxItemExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(29/*PrimaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 110: // PrimaryExpr ::= ParenthesizedExpr 
-            {
-              PrimaryExpr RESULT = null;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Collection e = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new ParExpr(e); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(29/*PrimaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 109: // PrimaryExpr ::= VarRef 
-            {
-              PrimaryExpr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		VarRef n = (VarRef)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(29/*PrimaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 108: // PrimaryExpr ::= Literal 
-            {
-              PrimaryExpr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Literal n = (Literal)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(29/*PrimaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 107: // Predicate ::= LBRACKET Expr RBRACKET 
-            {
-              Collection RESULT = null;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		Collection e = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		 RESULT = e; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(82/*Predicate*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 106: // PredicateList ::= 
-            {
-              Collection RESULT = null;
-		 RESULT = new ArrayList(); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(26/*PredicateList*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 105: // PredicateList ::= PredicateList Predicate 
-            {
-              Collection RESULT = null;
-		int cleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int cright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		Collection c = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Collection p = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-			   c.add(p);
-			   RESULT = c;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(26/*PredicateList*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 104: // FilterExpr ::= PrimaryExpr PredicateList 
-            {
-              FilterExpr RESULT = null;
-		int peleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int peright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		PrimaryExpr pe = (PrimaryExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Collection e = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new FilterExpr(pe, e); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(81/*FilterExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 103: // Wildcard ::= STAR COLON NCName 
-            {
-              QName RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new QName("*", n); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(17/*Wildcard*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 102: // Wildcard ::= STAR 
-            {
-              QName RESULT = null;
-		 RESULT = new QName("*","*"); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(17/*Wildcard*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 101: // NameTest ::= Wildcard 
-            {
-              NameTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new NameTest(n); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(55/*NameTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 100: // NameTest ::= QName 
-            {
-              NameTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new NameTest(n); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(55/*NameTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 99: // NodeTest ::= NameTest 
-            {
-              NodeTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		NameTest n = (NameTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(30/*NodeTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 98: // NodeTest ::= KindTest 
-            {
-              NodeTest RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		KindTest n = (KindTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(30/*NodeTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 97: // AbbrevReverseStep ::= DOTDOT 
-            {
-              ReverseStep RESULT = null;
-		 RESULT = new ReverseStep(ReverseStep.DOTDOT,null); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(32/*AbbrevReverseStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 96: // ReverseAxis ::= ANCESTOR_OR_SELF COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ReverseStep.ANCESTOR_OR_SELF); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(19/*ReverseAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 95: // ReverseAxis ::= PRECEDING COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ReverseStep.PRECEDING); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(19/*ReverseAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 94: // ReverseAxis ::= PRECEDING_SIBLING COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ReverseStep.PRECEDING_SIBLING); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(19/*ReverseAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 93: // ReverseAxis ::= ANCESTOR COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ReverseStep.ANCESTOR); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(19/*ReverseAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 92: // ReverseAxis ::= PARENT COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ReverseStep.PARENT); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(19/*ReverseAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 91: // ReverseStep ::= AbbrevReverseStep 
-            {
-              ReverseStep RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		ReverseStep n = (ReverseStep)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(31/*ReverseStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 90: // ReverseStep ::= ReverseAxis NodeTest 
-            {
-              ReverseStep RESULT = null;
-		int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		Integer a = (Integer)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		NodeTest n = (NodeTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		  RESULT = new ReverseStep(a.intValue(), n); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(31/*ReverseStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 89: // AbbrevForwardStep ::= NodeTest 
-            {
-              ForwardStep RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		NodeTest n = (NodeTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new ForwardStep(ForwardStep.NONE, n); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(34/*AbbrevForwardStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 88: // AbbrevForwardStep ::= AT_SYM NodeTest 
-            {
-              ForwardStep RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		NodeTest n = (NodeTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new ForwardStep(ForwardStep.AT_SYM, n); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(34/*AbbrevForwardStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 87: // ForwardAxis ::= NAMESPACE COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ForwardStep.NAMESPACE); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 86: // ForwardAxis ::= FOLLOWING COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ForwardStep.FOLLOWING); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 85: // ForwardAxis ::= FOLLOWING_SIBLING COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ForwardStep.FOLLOWING_SIBLING); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 84: // ForwardAxis ::= DESCENDANT_OR_SELF COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ForwardStep.DESCENDANT_OR_SELF); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 83: // ForwardAxis ::= SELF COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ForwardStep.SELF); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 82: // ForwardAxis ::= ATTRIBUTE COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ForwardStep.ATTRIBUTE); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 81: // ForwardAxis ::= DESCENDANT COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ForwardStep.DESCENDANT); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 80: // ForwardAxis ::= CHILD COLONCOLON 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(ForwardStep.CHILD); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 79: // ForwardStep ::= AbbrevForwardStep 
-            {
-              ForwardStep RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		ForwardStep n = (ForwardStep)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(33/*ForwardStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 78: // ForwardStep ::= ForwardAxis NodeTest 
-            {
-              ForwardStep RESULT = null;
-		int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		Integer a = (Integer)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		NodeTest n = (NodeTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new ForwardStep(a.intValue(),n); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(33/*ForwardStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 77: // AxisStep ::= ReverseStep PredicateList 
-            {
-              AxisStep RESULT = null;
-		int sleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int sright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		ReverseStep s = (ReverseStep)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Collection p = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new AxisStep(s, p); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(80/*AxisStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 76: // AxisStep ::= ForwardStep PredicateList 
-            {
-              AxisStep RESULT = null;
-		int sleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int sright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		ForwardStep s = (ForwardStep)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Collection p = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new AxisStep(s, p); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(80/*AxisStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 75: // StepExpr ::= FilterExpr 
-            {
-              StepExpr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		FilterExpr n = (FilterExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(35/*StepExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 74: // StepExpr ::= AxisStep 
-            {
-              StepExpr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		AxisStep n = (AxisStep)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(35/*StepExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 73: // RelativePathExpr ::= RelativePathExpr FORWARD_SLASHSLASH StepExpr 
-            {
-              XPathExpr RESULT = null;
-		int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		XPathExpr p = (XPathExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int sleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int sright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		StepExpr s = (StepExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-				p.add_tail(2,s);
-				RESULT = p;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(36/*RelativePathExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 72: // RelativePathExpr ::= RelativePathExpr FORWARD_SLASH StepExpr 
-            {
-              XPathExpr RESULT = null;
-		int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		XPathExpr p = (XPathExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int sleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int sright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		StepExpr s = (StepExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-				p.add_tail(1,s);
-				RESULT = p;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(36/*RelativePathExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 71: // RelativePathExpr ::= StepExpr 
-            {
-              XPathExpr RESULT = null;
-		int sleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int sright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		StepExpr s = (StepExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new XPathExpr(0,(StepExpr)s); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(36/*RelativePathExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 70: // PathExpr ::= RelativePathExpr 
-            {
-              XPathExpr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		XPathExpr n = (XPathExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(78/*PathExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 69: // PathExpr ::= FORWARD_SLASHSLASH RelativePathExpr 
-            {
-              XPathExpr RESULT = null;
-		int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		XPathExpr p = (XPathExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-				p.set_slashes(2);
-				RESULT = p;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(78/*PathExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 68: // PathExpr ::= FORWARD_SLASH RelativePathExpr 
-            {
-              XPathExpr RESULT = null;
-		int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		XPathExpr p = (XPathExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-				p.set_slashes(1);
-				RESULT = p;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(78/*PathExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 67: // PathExpr ::= FORWARD_SLASH 
-            {
-              XPathExpr RESULT = null;
-		 RESULT = new XPathExpr(1,null); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(78/*PathExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 66: // NodeComp ::= GREATER_GREATER 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.GREATER_GREATER); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(21/*NodeComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 65: // NodeComp ::= LESS_LESS 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.LESS_LESS); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(21/*NodeComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 64: // NodeComp ::= IS 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.IS); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(21/*NodeComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 63: // ValueComp ::= GE 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.GE); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(50/*ValueComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 62: // ValueComp ::= GT 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.GT); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(50/*ValueComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 61: // ValueComp ::= LE 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.LE); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(50/*ValueComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 60: // ValueComp ::= LT 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.LT); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(50/*ValueComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 59: // ValueComp ::= NE 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.NE); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(50/*ValueComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 58: // ValueComp ::= EQ 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.EQ); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(50/*ValueComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 57: // GeneralComp ::= GREATEREQUAL 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.GREATEREQUAL); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(49/*GeneralComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 56: // GeneralComp ::= GREATER 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.GREATER); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(49/*GeneralComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 55: // GeneralComp ::= LESSEQUAL 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.LESSEQUAL); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(49/*GeneralComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 54: // GeneralComp ::= LESSTHAN 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.LESSTHAN); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(49/*GeneralComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 53: // GeneralComp ::= NOTEQUALS 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.NOTEQUALS); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(49/*GeneralComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 52: // GeneralComp ::= EQUALS 
-            {
-              Integer RESULT = null;
-		 RESULT = new Integer(CmpExpr.EQUALS); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(49/*GeneralComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 51: // ValueExpr ::= PathExpr 
-            {
-              XPathExpr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		XPathExpr n = (XPathExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(79/*ValueExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 50: // UnaryExpr ::= PLUS UnaryExpr 
-            {
-              Expr RESULT = null;
-		int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr a = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new PlusExpr(a); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(37/*UnaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 49: // UnaryExpr ::= MINUS UnaryExpr 
-            {
-              Expr RESULT = null;
-		int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr a = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new MinusExpr(a); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(37/*UnaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 48: // UnaryExpr ::= ValueExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		XPathExpr n = (XPathExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(37/*UnaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 47: // CastExpr ::= UnaryExpr CAST AS SingleType 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		SingleType r = (SingleType)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new CastExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(43/*CastExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 46: // CastExpr ::= UnaryExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(43/*CastExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 45: // CastableExpr ::= CastExpr CASTABLE AS SingleType 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		SingleType r = (SingleType)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new CastableExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(41/*CastableExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 44: // CastableExpr ::= CastExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(41/*CastableExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 43: // TreatExpr ::= CastableExpr TREAT AS SequenceType 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		SequenceType r = (SequenceType)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new TreatAsExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(40/*TreatExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 42: // TreatExpr ::= CastableExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(40/*TreatExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 41: // InstanceofExpr ::= TreatExpr INSTANCE OF SequenceType 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		SequenceType r = (SequenceType)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new InstOfExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(42/*InstanceofExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 40: // InstanceofExpr ::= TreatExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(42/*InstanceofExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 39: // IntersectExceptExpr ::= IntersectExceptExpr EXCEPT InstanceofExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new ExceptExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(46/*IntersectExceptExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 38: // IntersectExceptExpr ::= IntersectExceptExpr INTERSECT InstanceofExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new IntersectExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(46/*IntersectExceptExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 37: // IntersectExceptExpr ::= InstanceofExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(46/*IntersectExceptExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 36: // UnionExpr ::= UnionExpr PIPE IntersectExceptExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new PipeExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(44/*UnionExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 35: // UnionExpr ::= UnionExpr UNION IntersectExceptExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new UnionExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(44/*UnionExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 34: // UnionExpr ::= IntersectExceptExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(44/*UnionExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 33: // MultiplicativeExpr ::= MultiplicativeExpr MOD UnionExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new ModExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(45/*MultiplicativeExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 32: // MultiplicativeExpr ::= MultiplicativeExpr IDIV UnionExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new IDivExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(45/*MultiplicativeExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 31: // MultiplicativeExpr ::= MultiplicativeExpr DIV UnionExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new DivExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(45/*MultiplicativeExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 30: // MultiplicativeExpr ::= MultiplicativeExpr STAR UnionExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new MulExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(45/*MultiplicativeExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 29: // MultiplicativeExpr ::= UnionExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(45/*MultiplicativeExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 28: // AdditiveExpr ::= AdditiveExpr MINUS MultiplicativeExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new SubExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(48/*AdditiveExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 27: // AdditiveExpr ::= AdditiveExpr PLUS MultiplicativeExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new AddExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(48/*AdditiveExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 26: // AdditiveExpr ::= MultiplicativeExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(48/*AdditiveExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 25: // RangeExpr ::= AdditiveExpr TO AdditiveExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new RangeExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(53/*RangeExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 24: // RangeExpr ::= AdditiveExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(53/*RangeExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 23: // ComparisonExpr ::= RangeExpr NodeComp RangeExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		Integer t = (Integer)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new CmpExpr(l, r, t.intValue()); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(54/*ComparisonExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 22: // ComparisonExpr ::= RangeExpr GeneralComp RangeExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		Integer t = (Integer)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new CmpExpr(l, r, t.intValue()); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(54/*ComparisonExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 21: // ComparisonExpr ::= RangeExpr ValueComp RangeExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		Integer t = (Integer)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new CmpExpr(l, r, t.intValue()); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(54/*ComparisonExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 20: // ComparisonExpr ::= RangeExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(54/*ComparisonExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 19: // AndExpr ::= AndExpr AND ComparisonExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new AndExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(51/*AndExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 18: // AndExpr ::= ComparisonExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(51/*AndExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 17: // OrExpr ::= OrExpr OR AndExpr 
-            {
-              Expr RESULT = null;
-		int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new OrExpr(l, r); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(52/*OrExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 16: // OrExpr ::= AndExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(52/*OrExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 15: // IfExpr ::= IF LPAR Expr RPAR THEN ExprSingle ELSE ExprSingle 
-            {
-              IfExpr RESULT = null;
-		int expsleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).left;
-		int expsright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).right;
-		Collection exps = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).value;
-		int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Expr t = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new IfExpr(exps, t, e); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(77/*IfExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-7)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 14: // QuantifiedExprMiddle ::= QuantifiedExprMiddle COMMA DOLLAR VarName IN ExprSingle 
-            {
-              Collection RESULT = null;
-		int psleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).left;
-		int psright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).right;
-		Collection ps = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).value;
-		int vleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int vright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		QName v = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-				VarExprPair p = new VarExprPair(v,e);
-				ps.add(p);
-				RESULT = ps;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(27/*QuantifiedExprMiddle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 13: // QuantifiedExprMiddle ::= VarName IN ExprSingle 
-            {
-              Collection RESULT = null;
-		int vleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int vright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		QName v = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-				Collection pairs = new ArrayList();
-				VarExprPair p = new VarExprPair(v,e);
-				pairs.add(p);
-				RESULT = pairs;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(27/*QuantifiedExprMiddle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 12: // QuantifiedExpr ::= EVERY DOLLAR QuantifiedExprMiddle SATISFIES ExprSingle 
-            {
-              QuantifiedExpr RESULT = null;
-		int pairsleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int pairsright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Collection pairs = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-				QuantifiedExpr qe = new QuantifiedExpr(QuantifiedExpr.ALL,
-								       pairs, e);
-				RESULT = qe;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(76/*QuantifiedExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-4)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 11: // QuantifiedExpr ::= SOME DOLLAR QuantifiedExprMiddle SATISFIES ExprSingle 
-            {
-              QuantifiedExpr RESULT = null;
-		int pairsleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int pairsright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Collection pairs = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-				QuantifiedExpr qe = new QuantifiedExpr(QuantifiedExpr.SOME,
-								       pairs, e);
-				RESULT = qe;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(76/*QuantifiedExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-4)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 10: // SimpleForClause ::= SimpleForClause COMMA DOLLAR VarName IN ExprSingle 
-            {
-              Collection RESULT = null;
-		int psleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).left;
-		int psright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).right;
-		Collection ps = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).value;
-		int vleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int vright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		QName v = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-				VarExprPair p = new VarExprPair(v,e);
-				ps.add(p);
-				RESULT = ps;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(28/*SimpleForClause*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 9: // SimpleForClause ::= FOR DOLLAR VarName IN ExprSingle 
-            {
-              Collection RESULT = null;
-		int vleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int vright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		QName v = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-				Collection pairs = new ArrayList();
-				VarExprPair p = new VarExprPair(v,e);
-				pairs.add(p);
-				RESULT = pairs;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(28/*SimpleForClause*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-4)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 8: // ForExpr ::= SimpleForClause RETURN ExprSingle 
-            {
-              ForExpr RESULT = null;
-		int pairsleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int pairsright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Collection pairs = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		
-				ForExpr fexp = new ForExpr(pairs,e);
-				RESULT = fexp;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(75/*ForExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 7: // ExprSingle ::= OrExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(47/*ExprSingle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 6: // ExprSingle ::= IfExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		IfExpr n = (IfExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(47/*ExprSingle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 5: // ExprSingle ::= QuantifiedExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		QuantifiedExpr n = (QuantifiedExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(47/*ExprSingle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 4: // ExprSingle ::= ForExpr 
-            {
-              Expr RESULT = null;
-		int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		ForExpr n = (ForExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = n; 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(47/*ExprSingle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 3: // Expr ::= Expr COMMA ExprSingle 
-            {
-              Collection RESULT = null;
-		int exprsleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
-		int exprsright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
-		Collection exprs = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-		int exleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int exright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr ex = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 
-				exprs.add(ex);
-				RESULT = exprs;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(25/*Expr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 2: // Expr ::= ExprSingle 
-            {
-              Collection RESULT = null;
-		int exleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int exright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Expr ex = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 
-				Collection exps = new ArrayList();
-				exps.add(ex);
-				RESULT = exps;
-			
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(25/*Expr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 1: // $START ::= XPath EOF 
-            {
-              Object RESULT = null;
-		int start_valleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
-		int start_valright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
-		XPath start_val = (XPath)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-		RESULT = start_val;
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(0/*$START*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          /* ACCEPT */
-          CUP$XPathCup$parser.done_parsing();
-          return CUP$XPathCup$result;
-
-          /*. . . . . . . . . . . . . . . . . . . .*/
-          case 0: // XPath ::= Expr 
-            {
-              XPath RESULT = null;
-		int expsleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
-		int expsright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
-		Collection exps = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-		 RESULT = new XPath(exps); 
-              CUP$XPathCup$result = new java_cup.runtime.Symbol(74/*XPath*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
-            }
-          return CUP$XPathCup$result;
-
-          /* . . . . . .*/
-          default:
-            throw new Exception(
-               "Invalid action number found in internal parse table");
-
-        }
-    }
-}
-
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPathError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPathError.java
deleted file mode 100644
index e7770e2..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPathError.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-/**
- * This error is thrown when there is a problem with an XPath exception.
- */
-public class XPathError extends Error {
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 6624631792087303209L;
-	private String _reason;
-
-	/**
-	 * Constructor for XPathError
-	 * 
-	 * @param reason
-	 *            Is the reason why the error has been thrown.
-	 */
-	public XPathError(String reason) {
-		_reason = reason;
-	}
-
-	/**
-	 * The reason why the error has been thrown.
-	 * 
-	 * @return the reason why the error has been throw.
-	 */
-	public String reason() {
-		return _reason;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPathFlex.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPathFlex.java
deleted file mode 100644
index ad0e704..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPathFlex.java
+++ /dev/null
@@ -1,1319 +0,0 @@
-/* The following code was generated by JFlex 1.4.3 on 12/14/09 2:02 AM */
-
-// *******************************************************************************
-// * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
-// * All rights reserved. This program and the accompanying materials
-// * are made available under the terms of the Eclipse Public License v1.0
-// * which accompanies this distribution, and is available at
-// * http://www.eclipse.org/legal/epl-v10.html
-// *
-// * Contributors:
-// *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
-// *     David Carver - bug 280987 - fixed literal issues for integer and decimal
-// *     Jesper S Moller - bug 283214 - fix IF THEN ELSE parsing and update grammars
-// *     Jesper S Moller - bug 286061   correct handling of quoted string 
-// *     Jesper Moller - bug 297707 - Missing the empty-sequence() type
-// *******************************************************************************/
-
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-
-import java_cup.runtime.*;
-
-
-/**
- * This class is a scanner generated by 
- * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
- * on 12/14/09 2:02 AM from the specification file
- * <tt>/Users/jesper/Documents/workspace-3.5M5/org.eclipse.wst.xml.xpath2.processor/grammars/xpath.lex</tt>
- */
-public class XPathFlex implements java_cup.runtime.Scanner {
-
-  /** This character denotes the end of file */
-  public static final int YYEOF = -1;
-
-  /** initial size of the lookahead buffer */
-  private static final int ZZ_BUFFERSIZE = 16384;
-
-  /** lexical states */
-  public static final int YYINITIAL = 0;
-  public static final int COMMENT = 2;
-
-  /**
-   * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
-   * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
-   *                  at the beginning of a line
-   * l is of the form l = 2*k, k a non negative integer
-   */
-  private static final int ZZ_LEXSTATE[] = { 
-     0,  0,  1, 1
-  };
-
-  /** 
-   * Translates characters to character classes
-   */
-  private static final String ZZ_CMAP_PACKED = 
-    "\11\0\1\1\1\1\2\0\1\1\22\0\1\1\1\22\1\2\1\0"+
-    "\1\30\2\0\1\3\1\12\1\16\1\17\1\7\1\27\1\11\1\5"+
-    "\1\25\12\4\1\13\1\0\1\23\1\21\1\24\1\31\1\26\4\10"+
-    "\1\6\25\10\1\14\1\0\1\15\1\0\1\10\1\0\1\42\1\45"+
-    "\1\32\1\36\1\37\1\47\1\52\1\33\1\34\2\10\1\35\1\53"+
-    "\1\41\1\50\1\54\1\55\1\44\1\40\1\43\1\46\1\56\1\51"+
-    "\1\57\1\60\1\10\1\0\1\20\uff83\0";
-
-  /** 
-   * Translates characters to character classes
-   */
-  private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
-
-  /** 
-   * Translates DFA states to action switch labels.
-   */
-  private static final int [] ZZ_ACTION = zzUnpackAction();
-
-  private static final String ZZ_ACTION_PACKED_0 =
-    "\2\0\1\1\1\2\2\1\1\3\1\4\1\5\1\6"+
-    "\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16"+
-    "\1\17\1\1\1\20\1\21\1\22\1\23\1\24\1\25"+
-    "\1\26\20\5\2\2\1\0\1\27\1\0\1\27\1\30"+
-    "\1\0\1\31\1\32\1\33\1\34\1\35\1\36\1\37"+
-    "\1\40\1\41\4\5\1\42\1\43\1\5\1\44\1\45"+
-    "\1\46\5\5\1\47\6\5\1\50\2\5\1\51\5\5"+
-    "\1\52\4\5\1\53\1\54\1\55\1\56\3\5\1\57"+
-    "\1\60\1\61\1\0\7\5\1\62\16\5\1\63\10\5"+
-    "\1\64\1\65\4\5\1\66\1\5\1\67\2\5\1\70"+
-    "\3\5\1\71\4\5\1\72\1\5\1\73\1\5\1\74"+
-    "\2\5\1\75\1\76\10\5\1\77\10\5\1\100\6\5"+
-    "\1\101\2\5\1\102\14\5\1\103\6\5\1\104\1\5"+
-    "\1\105\3\5\1\106\4\5\1\107\12\5\1\110\1\111"+
-    "\10\5\1\112\5\5\1\113\5\5\1\114\1\115\1\5"+
-    "\1\116\1\5\1\117\1\120\1\5\1\121\5\5\1\122"+
-    "\26\5\1\123\10\5\1\124\1\125\14\5\1\126\1\127"+
-    "\4\5\1\130\1\131\1\5\1\132\4\5\1\133";
-
-  private static int [] zzUnpackAction() {
-    int [] result = new int[333];
-    int offset = 0;
-    offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
-    return result;
-  }
-
-  private static int zzUnpackAction(String packed, int offset, int [] result) {
-    int i = 0;       /* index in packed string  */
-    int j = offset;  /* index in unpacked array */
-    int l = packed.length();
-    while (i < l) {
-      int count = packed.charAt(i++);
-      int value = packed.charAt(i++);
-      do result[j++] = value; while (--count > 0);
-    }
-    return j;
-  }
-
-
-  /** 
-   * Translates a state to a row index in the transition table
-   */
-  private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
-
-  private static final String ZZ_ROWMAP_PACKED_0 =
-    "\0\0\0\61\0\142\0\142\0\223\0\304\0\365\0\u0126"+
-    "\0\u0157\0\142\0\142\0\u0188\0\u01b9\0\142\0\142\0\142"+
-    "\0\142\0\142\0\142\0\u01ea\0\u021b\0\u024c\0\u027d\0\142"+
-    "\0\142\0\142\0\142\0\u02ae\0\u02df\0\u0310\0\u0341\0\u0372"+
-    "\0\u03a3\0\u03d4\0\u0405\0\u0436\0\u0467\0\u0498\0\u04c9\0\u04fa"+
-    "\0\u052b\0\u055c\0\u058d\0\u05be\0\u05ef\0\223\0\u0620\0\304"+
-    "\0\u0651\0\u0682\0\u06b3\0\142\0\142\0\142\0\142\0\142"+
-    "\0\142\0\142\0\142\0\142\0\u06e4\0\u0715\0\u0746\0\u0777"+
-    "\0\u0157\0\u07a8\0\u07d9\0\u0157\0\u0157\0\u0157\0\u080a\0\u083b"+
-    "\0\u086c\0\u089d\0\u08ce\0\u0157\0\u08ff\0\u0930\0\u0961\0\u0992"+
-    "\0\u09c3\0\u09f4\0\u0157\0\u0a25\0\u0a56\0\u0157\0\u0a87\0\u0ab8"+
-    "\0\u0ae9\0\u0b1a\0\u0b4b\0\u0157\0\u0b7c\0\u0bad\0\u0bde\0\u0c0f"+
-    "\0\u0157\0\u0157\0\u0157\0\u0157\0\u0c40\0\u0c71\0\u0ca2\0\142"+
-    "\0\142\0\u0cd3\0\u0cd3\0\u0d04\0\u0d35\0\u0d66\0\u0d97\0\u0dc8"+
-    "\0\u0df9\0\u0e2a\0\u0157\0\u0e5b\0\u0e8c\0\u0ebd\0\u0eee\0\u0f1f"+
-    "\0\u0f50\0\u0f81\0\u0fb2\0\u0fe3\0\u1014\0\u1045\0\u1076\0\u10a7"+
-    "\0\u10d8\0\u0157\0\u1109\0\u113a\0\u116b\0\u119c\0\u11cd\0\u11fe"+
-    "\0\u122f\0\u1260\0\u0157\0\u0157\0\u1291\0\u12c2\0\u12f3\0\u1324"+
-    "\0\u1355\0\u1386\0\u0157\0\u13b7\0\u13e8\0\u0157\0\u1419\0\u144a"+
-    "\0\u147b\0\u0157\0\u14ac\0\u14dd\0\u150e\0\u153f\0\u0157\0\u1570"+
-    "\0\u0157\0\u15a1\0\u0157\0\u15d2\0\u1603\0\u0157\0\u0157\0\u1634"+
-    "\0\u1665\0\u1696\0\u16c7\0\u16f8\0\u1729\0\u175a\0\u178b\0\u0157"+
-    "\0\u17bc\0\u17ed\0\u181e\0\u184f\0\u1880\0\u18b1\0\u18e2\0\u1913"+
-    "\0\u0157\0\u1944\0\u1975\0\u19a6\0\u19d7\0\u1a08\0\u1a39\0\u0157"+
-    "\0\u1a6a\0\u1a9b\0\u0157\0\u1acc\0\u1afd\0\u1b2e\0\u1b5f\0\u1b90"+
-    "\0\u1bc1\0\u1bf2\0\u1c23\0\u1c54\0\u1c85\0\u1cb6\0\u1ce7\0\u0157"+
-    "\0\u1d18\0\u1d49\0\u1d7a\0\u1dab\0\u1ddc\0\u1e0d\0\u0157\0\u1e3e"+
-    "\0\u0157\0\u1e6f\0\u1ea0\0\u1ed1\0\u0157\0\u1f02\0\u1f33\0\u1f64"+
-    "\0\u1f95\0\u0157\0\u1fc6\0\u1ff7\0\u2028\0\u2059\0\u208a\0\u20bb"+
-    "\0\u20ec\0\u211d\0\u214e\0\u217f\0\u0157\0\u0157\0\u21b0\0\u21e1"+
-    "\0\u2212\0\u2243\0\u2274\0\u22a5\0\u22d6\0\u2307\0\u2338\0\u2369"+
-    "\0\u239a\0\u23cb\0\u23fc\0\u242d\0\u0157\0\u245e\0\u248f\0\u24c0"+
-    "\0\u24f1\0\u2522\0\u0157\0\u0157\0\u2553\0\u0157\0\u2584\0\u25b5"+
-    "\0\u25e6\0\u2617\0\u2648\0\u2679\0\u26aa\0\u26db\0\u270c\0\u273d"+
-    "\0\u0157\0\u276e\0\u279f\0\u27d0\0\u2801\0\u2832\0\u2863\0\u2894"+
-    "\0\u28c5\0\u28f6\0\u2927\0\u2958\0\u2989\0\u29ba\0\u29eb\0\u2a1c"+
-    "\0\u2a4d\0\u2a7e\0\u2aaf\0\u2ae0\0\u2b11\0\u2b42\0\u2b73\0\u0157"+
-    "\0\u2ba4\0\u2bd5\0\u2c06\0\u2c37\0\u2c68\0\u2c99\0\u2cca\0\u2cfb"+
-    "\0\u0157\0\u0157\0\u2d2c\0\u2d5d\0\u2d8e\0\u2dbf\0\u2df0\0\u2e21"+
-    "\0\u2e52\0\u2e83\0\u2eb4\0\u2ee5\0\u2f16\0\u2f47\0\u0157\0\u0157"+
-    "\0\u2f78\0\u2fa9\0\u2fda\0\u300b\0\u0157\0\u0157\0\u303c\0\u0157"+
-    "\0\u306d\0\u309e\0\u30cf\0\u3100\0\u0157";
-
-  private static int [] zzUnpackRowMap() {
-    int [] result = new int[333];
-    int offset = 0;
-    offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
-    return result;
-  }
-
-  private static int zzUnpackRowMap(String packed, int offset, int [] result) {
-    int i = 0;  /* index in packed string  */
-    int j = offset;  /* index in unpacked array */
-    int l = packed.length();
-    while (i < l) {
-      int high = packed.charAt(i++) << 16;
-      result[j++] = high | packed.charAt(i++);
-    }
-    return j;
-  }
-
-  /** 
-   * The transition table of the DFA
-   */
-  private static final int [] ZZ_TRANS = zzUnpackTrans();
-
-  private static final String ZZ_TRANS_PACKED_0 =
-    "\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12"+
-    "\1\11\1\13\1\14\1\15\1\16\1\17\1\20\1\21"+
-    "\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31"+
-    "\1\32\1\33\1\34\1\11\1\35\1\36\1\37\1\40"+
-    "\1\41\1\42\1\43\1\44\1\45\1\11\1\46\1\47"+
-    "\1\50\1\11\1\51\1\52\1\53\4\11\12\4\1\54"+
-    "\1\55\45\4\61\0\2\56\1\57\56\56\3\60\1\61"+
-    "\55\60\4\0\1\7\1\62\1\63\30\0\1\63\25\0"+
-    "\1\62\1\64\57\0\3\11\1\0\2\11\20\0\27\11"+
-    "\13\0\1\65\60\0\1\66\66\0\1\67\60\0\1\70"+
-    "\1\0\1\71\56\0\1\72\2\0\1\73\61\0\1\74"+
-    "\37\0\3\11\1\0\2\11\20\0\1\11\1\75\6\11"+
-    "\1\76\5\11\1\77\10\11\4\0\3\11\1\0\2\11"+
-    "\20\0\4\11\1\100\1\11\1\101\1\102\1\11\1\103"+
-    "\3\11\1\104\11\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\105\3\11\1\106\15\11\4\0\3\11\1\0"+
-    "\2\11\20\0\2\11\1\107\2\11\1\110\10\11\1\111"+
-    "\10\11\4\0\3\11\1\0\2\11\20\0\3\11\1\112"+
-    "\15\11\1\113\1\11\1\114\1\115\1\116\1\11\4\0"+
-    "\3\11\1\0\2\11\20\0\1\117\4\11\1\120\2\11"+
-    "\1\121\5\11\1\122\10\11\4\0\3\11\1\0\2\11"+
-    "\20\0\5\11\1\123\2\11\1\124\5\11\1\125\10\11"+
-    "\4\0\3\11\1\0\2\11\20\0\6\11\1\126\1\127"+
-    "\1\11\1\130\15\11\4\0\3\11\1\0\2\11\20\0"+
-    "\1\11\1\131\3\11\1\132\4\11\1\133\3\11\1\134"+
-    "\7\11\1\135\4\0\3\11\1\0\2\11\20\0\5\11"+
-    "\1\136\21\11\4\0\3\11\1\0\2\11\20\0\7\11"+
-    "\1\137\17\11\4\0\3\11\1\0\2\11\20\0\16\11"+
-    "\1\140\10\11\4\0\3\11\1\0\2\11\20\0\12\11"+
-    "\1\141\2\11\1\142\11\11\4\0\3\11\1\0\2\11"+
-    "\20\0\5\11\1\143\3\11\1\144\15\11\4\0\3\11"+
-    "\1\0\2\11\20\0\16\11\1\145\10\11\4\0\3\11"+
-    "\1\0\2\11\20\0\10\11\1\146\1\11\1\147\14\11"+
-    "\13\0\1\150\63\0\1\151\44\0\1\56\61\0\1\60"+
-    "\61\0\1\62\1\0\1\63\30\0\1\63\25\0\1\152"+
-    "\2\0\1\153\1\0\1\153\53\0\3\11\1\0\2\11"+
-    "\20\0\2\11\1\154\24\11\4\0\3\11\1\0\2\11"+
-    "\20\0\6\11\1\155\20\11\4\0\3\11\1\0\2\11"+
-    "\20\0\21\11\1\156\5\11\4\0\3\11\1\0\2\11"+
-    "\20\0\2\11\1\157\24\11\4\0\3\11\1\0\2\11"+
-    "\20\0\6\11\1\160\2\11\1\161\15\11\4\0\3\11"+
-    "\1\0\2\11\20\0\5\11\1\162\21\11\4\0\3\11"+
-    "\1\0\2\11\20\0\24\11\1\163\2\11\4\0\3\11"+
-    "\1\0\2\11\20\0\6\11\1\164\20\11\4\0\3\11"+
-    "\1\0\2\11\20\0\1\165\26\11\4\0\3\11\1\0"+
-    "\2\11\20\0\5\11\1\166\1\167\20\11\4\0\3\11"+
-    "\1\0\2\11\20\0\22\11\1\170\4\11\4\0\3\11"+
-    "\1\0\2\11\20\0\5\11\1\171\21\11\4\0\3\11"+
-    "\1\0\2\11\20\0\1\172\26\11\4\0\3\11\1\0"+
-    "\2\11\20\0\1\11\1\173\25\11\4\0\3\11\1\0"+
-    "\2\11\20\0\3\11\1\174\23\11\4\0\3\11\1\0"+
-    "\2\11\20\0\11\11\1\175\15\11\4\0\3\11\1\0"+
-    "\2\11\20\0\21\11\1\176\5\11\4\0\3\11\1\0"+
-    "\2\11\20\0\21\11\1\177\5\11\4\0\3\11\1\0"+
-    "\2\11\20\0\4\11\1\200\22\11\4\0\3\11\1\0"+
-    "\2\11\20\0\1\201\3\11\1\202\22\11\4\0\3\11"+
-    "\1\0\2\11\20\0\11\11\1\203\15\11\4\0\3\11"+
-    "\1\0\2\11\20\0\5\11\1\204\21\11\4\0\3\11"+
-    "\1\0\2\11\20\0\25\11\1\205\1\11\4\0\3\11"+
-    "\1\0\2\11\20\0\5\11\1\206\21\11\4\0\3\11"+
-    "\1\0\2\11\20\0\22\11\1\207\4\11\4\0\3\11"+
-    "\1\0\2\11\20\0\11\11\1\210\15\11\4\0\3\11"+
-    "\1\0\2\11\20\0\2\11\1\211\24\11\4\0\3\11"+
-    "\1\0\2\11\20\0\3\11\1\212\6\11\1\213\14\11"+
-    "\4\0\3\11\1\0\2\11\20\0\4\11\1\214\22\11"+
-    "\4\0\3\11\1\0\2\11\20\0\12\11\1\215\14\11"+
-    "\4\0\3\11\1\0\2\11\20\0\5\11\1\216\10\11"+
-    "\1\217\10\11\4\0\1\152\60\0\3\11\1\0\2\11"+
-    "\20\0\3\11\1\220\23\11\4\0\3\11\1\0\2\11"+
-    "\20\0\11\11\1\221\15\11\4\0\3\11\1\0\2\11"+
-    "\20\0\21\11\1\222\5\11\4\0\3\11\1\0\2\11"+
-    "\20\0\24\11\1\223\2\11\4\0\3\11\1\0\2\11"+
-    "\20\0\11\11\1\224\15\11\4\0\3\11\1\0\2\11"+
-    "\20\0\5\11\1\225\21\11\4\0\3\11\1\0\2\11"+
-    "\20\0\21\11\1\226\5\11\4\0\3\11\1\0\2\11"+
-    "\20\0\1\227\26\11\4\0\3\11\1\0\2\11\20\0"+
-    "\14\11\1\230\12\11\4\0\3\11\1\0\2\11\20\0"+
-    "\21\11\1\231\5\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\232\21\11\4\0\3\11\1\0\2\11\20\0"+
-    "\11\11\1\233\15\11\4\0\3\11\1\0\2\11\20\0"+
-    "\12\11\1\234\14\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\235\21\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\236\21\11\4\0\3\11\1\0\2\11\20\0"+
-    "\15\11\1\237\11\11\4\0\3\11\1\0\2\11\20\0"+
-    "\2\11\1\240\24\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\241\21\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\242\21\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\243\21\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\244\21\11\4\0\3\11\1\0\2\11\20\0"+
-    "\12\11\1\245\14\11\4\0\3\11\1\0\2\11\20\0"+
-    "\7\11\1\246\17\11\4\0\3\11\1\0\2\11\20\0"+
-    "\11\11\1\247\15\11\4\0\3\11\1\0\2\11\20\0"+
-    "\10\11\1\250\16\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\251\21\11\4\0\3\11\1\0\2\11\20\0"+
-    "\14\11\1\252\12\11\4\0\3\11\1\0\2\11\20\0"+
-    "\16\11\1\253\10\11\4\0\3\11\1\0\2\11\20\0"+
-    "\3\11\1\254\23\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\255\21\11\4\0\3\11\1\0\2\11\20\0"+
-    "\1\256\26\11\4\0\3\11\1\0\2\11\20\0\1\257"+
-    "\26\11\4\0\3\11\1\0\2\11\20\0\4\11\1\260"+
-    "\22\11\4\0\3\11\1\0\2\11\20\0\10\11\1\261"+
-    "\16\11\4\0\3\11\1\0\2\11\20\0\5\11\1\262"+
-    "\21\11\4\0\3\11\1\0\2\11\20\0\10\11\1\263"+
-    "\16\11\4\0\3\11\1\0\2\11\20\0\12\11\1\264"+
-    "\14\11\4\0\3\11\1\0\2\11\20\0\5\11\1\265"+
-    "\21\11\4\0\3\11\1\0\2\11\20\0\21\11\1\266"+
-    "\5\11\4\0\3\11\1\0\2\11\20\0\5\11\1\267"+
-    "\21\11\4\0\3\11\1\0\2\11\20\0\26\11\1\270"+
-    "\4\0\3\11\1\0\2\11\20\0\26\11\1\271\4\0"+
-    "\3\11\1\0\2\11\20\0\22\11\1\272\4\11\4\0"+
-    "\3\11\1\0\2\11\20\0\21\11\1\273\5\11\4\0"+
-    "\3\11\1\0\2\11\20\0\6\11\1\274\20\11\4\0"+
-    "\3\11\1\0\2\11\20\0\6\11\1\275\20\11\4\0"+
-    "\3\11\1\0\2\11\20\0\6\11\1\276\20\11\4\0"+
-    "\3\11\1\0\2\11\20\0\2\11\1\277\24\11\4\0"+
-    "\3\11\1\0\2\11\20\0\11\11\1\300\15\11\4\0"+
-    "\3\11\1\0\2\11\20\0\6\11\1\301\20\11\4\0"+
-    "\3\11\1\0\2\11\20\0\12\11\1\302\14\11\4\0"+
-    "\3\11\1\0\2\11\20\0\7\11\1\303\17\11\4\0"+
-    "\3\11\1\0\2\11\20\0\16\11\1\304\10\11\4\0"+
-    "\3\11\1\0\2\11\20\0\7\11\1\305\17\11\4\0"+
-    "\3\11\1\0\2\11\20\0\5\11\1\306\21\11\4\0"+
-    "\3\11\1\0\2\11\20\0\5\11\1\307\21\11\4\0"+
-    "\3\11\1\0\2\11\20\0\13\11\1\310\13\11\4\0"+
-    "\3\11\1\0\2\11\20\0\7\11\1\311\17\11\4\0"+
-    "\3\11\1\0\2\11\20\0\7\11\1\312\17\11\4\0"+
-    "\3\11\1\0\2\11\20\0\6\11\1\313\20\11\4\0"+
-    "\3\11\1\0\2\11\20\0\7\11\1\314\17\11\4\0"+
-    "\3\11\1\0\2\11\20\0\5\11\1\315\21\11\4\0"+
-    "\3\11\1\0\2\11\20\0\7\11\1\316\17\11\4\0"+
-    "\3\11\1\0\1\11\1\317\20\0\27\11\4\0\3\11"+
-    "\1\0\2\11\20\0\11\11\1\320\15\11\4\0\3\11"+
-    "\1\0\2\11\20\0\10\11\1\321\16\11\4\0\3\11"+
-    "\1\0\2\11\20\0\15\11\1\322\11\11\4\0\3\11"+
-    "\1\0\2\11\20\0\22\11\1\323\4\11\4\0\3\11"+
-    "\1\0\2\11\20\0\11\11\1\324\15\11\4\0\3\11"+
-    "\1\0\2\11\20\0\13\11\1\325\13\11\4\0\3\11"+
-    "\1\0\2\11\20\0\17\11\1\326\7\11\4\0\3\11"+
-    "\1\0\2\11\20\0\7\11\1\327\17\11\4\0\3\11"+
-    "\1\0\2\11\20\0\17\11\1\330\7\11\4\0\3\11"+
-    "\1\0\2\11\20\0\11\11\1\331\15\11\4\0\3\11"+
-    "\1\0\2\11\20\0\4\11\1\332\22\11\4\0\3\11"+
-    "\1\0\2\11\20\0\6\11\1\333\20\11\4\0\3\11"+
-    "\1\0\2\11\20\0\3\11\1\334\23\11\4\0\3\11"+
-    "\1\0\2\11\20\0\11\11\1\335\15\11\4\0\3\11"+
-    "\1\0\2\11\20\0\1\336\26\11\4\0\3\11\1\0"+
-    "\2\11\20\0\5\11\1\337\21\11\4\0\3\11\1\0"+
-    "\2\11\20\0\4\11\1\340\22\11\4\0\3\11\1\0"+
-    "\2\11\20\0\7\11\1\341\17\11\4\0\3\11\1\0"+
-    "\2\11\20\0\11\11\1\342\15\11\4\0\3\11\1\0"+
-    "\2\11\20\0\6\11\1\343\20\11\4\0\3\11\1\0"+
-    "\1\11\1\344\20\0\27\11\4\0\3\11\1\0\2\11"+
-    "\20\0\2\11\1\345\24\11\4\0\3\11\1\0\2\11"+
-    "\20\0\10\11\1\346\16\11\4\0\3\11\1\0\2\11"+
-    "\20\0\16\11\1\347\10\11\4\0\3\11\1\0\2\11"+
-    "\20\0\14\11\1\350\12\11\4\0\3\11\1\0\2\11"+
-    "\20\0\2\11\1\351\24\11\4\0\3\11\1\0\2\11"+
-    "\20\0\2\11\1\352\24\11\4\0\3\11\1\0\2\11"+
-    "\20\0\2\11\1\353\24\11\4\0\3\11\1\0\2\11"+
-    "\20\0\6\11\1\354\20\11\4\0\3\11\1\0\2\11"+
-    "\20\0\5\11\1\355\21\11\4\0\3\11\1\0\2\11"+
-    "\20\0\5\11\1\356\21\11\4\0\3\11\1\0\2\11"+
-    "\20\0\1\357\26\11\4\0\3\11\1\0\2\11\20\0"+
-    "\10\11\1\360\16\11\4\0\3\11\1\0\2\11\20\0"+
-    "\11\11\1\361\15\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\362\21\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\363\2\11\1\364\16\11\4\0\3\11\1\0"+
-    "\2\11\20\0\5\11\1\365\21\11\4\0\3\11\1\0"+
-    "\2\11\20\0\1\366\26\11\4\0\3\11\1\0\2\11"+
-    "\20\0\12\11\1\367\14\11\4\0\3\11\1\0\2\11"+
-    "\20\0\11\11\1\370\15\11\4\0\3\11\1\0\2\11"+
-    "\20\0\11\11\1\371\15\11\4\0\3\11\1\0\2\11"+
-    "\20\0\7\11\1\372\17\11\4\0\3\11\1\0\2\11"+
-    "\20\0\7\11\1\373\17\11\4\0\3\11\1\0\2\11"+
-    "\20\0\2\11\1\374\24\11\4\0\3\11\1\0\2\11"+
-    "\20\0\11\11\1\375\15\11\4\0\3\11\1\0\2\11"+
-    "\20\0\7\11\1\376\17\11\4\0\3\11\1\0\1\11"+
-    "\1\377\20\0\27\11\4\0\3\11\1\0\2\11\20\0"+
-    "\23\11\1\u0100\3\11\4\0\3\11\1\0\2\11\20\0"+
-    "\3\11\1\u0101\23\11\4\0\3\11\1\0\2\11\20\0"+
-    "\11\11\1\u0102\15\11\4\0\3\11\1\0\2\11\20\0"+
-    "\6\11\1\u0103\20\11\4\0\3\11\1\0\2\11\20\0"+
-    "\5\11\1\u0104\21\11\4\0\3\11\1\0\1\11\1\u0105"+
-    "\20\0\27\11\4\0\3\11\1\0\2\11\20\0\5\11"+
-    "\1\u0106\21\11\4\0\3\11\1\0\2\11\20\0\1\u0107"+
-    "\26\11\4\0\3\11\1\0\2\11\20\0\20\11\1\u0108"+
-    "\6\11\4\0\3\11\1\0\2\11\20\0\20\11\1\u0109"+
-    "\6\11\4\0\3\11\1\0\2\11\20\0\7\11\1\u010a"+
-    "\17\11\4\0\3\11\1\0\2\11\20\0\11\11\1\u010b"+
-    "\15\11\4\0\3\11\1\0\2\11\20\0\7\11\1\u010c"+
-    "\17\11\4\0\3\11\1\0\2\11\20\0\14\11\1\u010d"+
-    "\12\11\4\0\3\11\1\0\2\11\20\0\5\11\1\u010e"+
-    "\21\11\4\0\3\11\1\0\2\11\20\0\11\11\1\u010f"+
-    "\15\11\4\0\3\11\1\0\2\11\20\0\16\11\1\u0110"+
-    "\10\11\4\0\3\11\1\0\2\11\20\0\1\11\1\u0111"+
-    "\25\11\4\0\3\11\1\0\1\11\1\u0112\20\0\27\11"+
-    "\4\0\3\11\1\0\1\11\1\u0113\20\0\27\11\4\0"+
-    "\3\11\1\0\2\11\20\0\20\11\1\u0114\6\11\4\0"+
-    "\3\11\1\0\1\11\1\u0115\20\0\27\11\4\0\3\11"+
-    "\1\0\2\11\20\0\16\11\1\u0116\10\11\4\0\3\11"+
-    "\1\0\2\11\20\0\5\11\1\u0117\21\11\4\0\3\11"+
-    "\1\0\2\11\20\0\21\11\1\u0118\5\11\4\0\3\11"+
-    "\1\0\2\11\20\0\12\11\1\u0119\14\11\4\0\3\11"+
-    "\1\0\2\11\20\0\12\11\1\u011a\14\11\4\0\3\11"+
-    "\1\0\2\11\20\0\6\11\1\u011b\20\11\4\0\3\11"+
-    "\1\0\2\11\20\0\6\11\1\u011c\20\11\4\0\3\11"+
-    "\1\0\1\11\1\u011d\20\0\27\11\4\0\3\11\1\0"+
-    "\2\11\20\0\16\11\1\u011e\10\11\4\0\3\11\1\0"+
-    "\2\11\20\0\4\11\1\u011f\22\11\4\0\3\11\1\0"+
-    "\2\11\20\0\7\11\1\u0120\17\11\4\0\3\11\1\0"+
-    "\2\11\20\0\5\11\1\u0121\21\11\4\0\3\11\1\0"+
-    "\2\11\20\0\2\11\1\u0122\24\11\4\0\3\11\1\0"+
-    "\1\11\1\u0123\20\0\27\11\4\0\3\11\1\0\2\11"+
-    "\20\0\2\11\1\u0124\24\11\4\0\3\11\1\0\2\11"+
-    "\20\0\2\11\1\u0125\24\11\4\0\3\11\1\0\2\11"+
-    "\20\0\2\11\1\u0126\24\11\4\0\3\11\1\0\2\11"+
-    "\20\0\12\11\1\u0127\14\11\4\0\3\11\1\0\2\11"+
-    "\20\0\5\11\1\u0128\21\11\4\0\3\11\1\0\2\11"+
-    "\20\0\1\u0129\26\11\4\0\3\11\1\0\2\11\20\0"+
-    "\7\11\1\u012a\17\11\4\0\3\11\1\0\2\11\20\0"+
-    "\13\11\1\u012b\13\11\4\0\3\11\1\0\2\11\20\0"+
-    "\6\11\1\u012c\20\11\4\0\3\11\1\0\2\11\20\0"+
-    "\13\11\1\u012d\13\11\4\0\3\11\1\0\2\11\20\0"+
-    "\13\11\1\u012e\13\11\4\0\3\11\1\0\2\11\20\0"+
-    "\7\11\1\u012f\17\11\4\0\3\11\1\0\1\11\1\u0130"+
-    "\20\0\27\11\4\0\3\11\1\0\2\11\20\0\5\11"+
-    "\1\u0131\21\11\4\0\3\11\1\0\2\11\20\0\11\11"+
-    "\1\u0132\15\11\4\0\3\11\1\0\2\11\20\0\14\11"+
-    "\1\u0133\12\11\4\0\3\11\1\0\2\11\20\0\5\11"+
-    "\1\u0134\21\11\4\0\3\11\1\0\2\11\20\0\3\11"+
-    "\1\u0135\23\11\4\0\3\11\1\0\2\11\20\0\3\11"+
-    "\1\u0136\23\11\4\0\3\11\1\0\2\11\20\0\6\11"+
-    "\1\u0137\20\11\4\0\3\11\1\0\2\11\20\0\6\11"+
-    "\1\u0138\20\11\4\0\3\11\1\0\2\11\20\0\11\11"+
-    "\1\u0139\15\11\4\0\3\11\1\0\2\11\20\0\3\11"+
-    "\1\u013a\23\11\4\0\3\11\1\0\2\11\20\0\2\11"+
-    "\1\u013b\24\11\4\0\3\11\1\0\2\11\20\0\2\11"+
-    "\1\u013c\24\11\4\0\3\11\1\0\2\11\20\0\11\11"+
-    "\1\u013d\15\11\4\0\3\11\1\0\2\11\20\0\5\11"+
-    "\1\u013e\21\11\4\0\3\11\1\0\2\11\20\0\5\11"+
-    "\1\u013f\21\11\4\0\3\11\1\0\2\11\20\0\15\11"+
-    "\1\u0140\11\11\4\0\3\11\1\0\2\11\20\0\7\11"+
-    "\1\u0141\17\11\4\0\3\11\1\0\2\11\20\0\7\11"+
-    "\1\u0142\17\11\4\0\3\11\1\0\2\11\20\0\12\11"+
-    "\1\u0143\14\11\4\0\3\11\1\0\2\11\20\0\3\11"+
-    "\1\u0144\23\11\4\0\3\11\1\0\2\11\20\0\20\11"+
-    "\1\u0145\6\11\4\0\3\11\1\0\2\11\20\0\20\11"+
-    "\1\u0146\6\11\4\0\3\11\1\0\2\11\20\0\14\11"+
-    "\1\u0147\12\11\4\0\3\11\1\0\2\11\20\0\15\11"+
-    "\1\u0148\11\11\4\0\3\11\1\0\2\11\20\0\1\u0149"+
-    "\26\11\4\0\3\11\1\0\2\11\20\0\11\11\1\u014a"+
-    "\15\11\4\0\3\11\1\0\2\11\20\0\2\11\1\u014b"+
-    "\24\11\4\0\3\11\1\0\2\11\20\0\16\11\1\u014c"+
-    "\10\11\4\0\3\11\1\0\2\11\20\0\7\11\1\u014d"+
-    "\17\11";
-
-  private static int [] zzUnpackTrans() {
-    int [] result = new int[12593];
-    int offset = 0;
-    offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
-    return result;
-  }
-
-  private static int zzUnpackTrans(String packed, int offset, int [] result) {
-    int i = 0;       /* index in packed string  */
-    int j = offset;  /* index in unpacked array */
-    int l = packed.length();
-    while (i < l) {
-      int count = packed.charAt(i++);
-      int value = packed.charAt(i++);
-      value--;
-      do result[j++] = value; while (--count > 0);
-    }
-    return j;
-  }
-
-
-  /* error codes */
-  private static final int ZZ_UNKNOWN_ERROR = 0;
-  private static final int ZZ_NO_MATCH = 1;
-  private static final int ZZ_PUSHBACK_2BIG = 2;
-
-  /* error messages for the codes above */
-  private static final String ZZ_ERROR_MSG[] = {
-    "Unkown internal scanner error",
-    "Error: could not match input",
-    "Error: pushback value was too large"
-  };
-
-  /**
-   * ZZ_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
-   */
-  private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
-
-  private static final String ZZ_ATTRIBUTE_PACKED_0 =
-    "\2\0\2\11\5\1\2\11\2\1\6\11\4\1\4\11"+
-    "\22\1\1\0\1\1\1\0\2\1\1\0\11\11\53\1"+
-    "\2\11\1\1\1\0\342\1";
-
-  private static int [] zzUnpackAttribute() {
-    int [] result = new int[333];
-    int offset = 0;
-    offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
-    return result;
-  }
-
-  private static int zzUnpackAttribute(String packed, int offset, int [] result) {
-    int i = 0;       /* index in packed string  */
-    int j = offset;  /* index in unpacked array */
-    int l = packed.length();
-    while (i < l) {
-      int count = packed.charAt(i++);
-      int value = packed.charAt(i++);
-      do result[j++] = value; while (--count > 0);
-    }
-    return j;
-  }
-
-  /** the input device */
-  private java.io.Reader zzReader;
-
-  /** the current state of the DFA */
-  private int zzState;
-
-  /** the current lexical state */
-  private int zzLexicalState = YYINITIAL;
-
-  /** this buffer contains the current text to be matched and is
-      the source of the yytext() string */
-  private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
-
-  /** the textposition at the last accepting state */
-  private int zzMarkedPos;
-
-  /** the current text position in the buffer */
-  private int zzCurrentPos;
-
-  /** startRead marks the beginning of the yytext() string in the buffer */
-  private int zzStartRead;
-
-  /** endRead marks the last character in the buffer, that has been read
-      from input */
-  private int zzEndRead;
-
-  /** number of newlines encountered up to the start of the matched text */
-  private int yyline;
-
-  /** the number of characters up to the start of the matched text */
-  private int yychar;
-
-  /**
-   * the number of characters from the last newline up to the start of the 
-   * matched text
-   */
-  private int yycolumn;
-
-  /** 
-   * zzAtBOL == true <=> the scanner is currently at the beginning of a line
-   */
-  private boolean zzAtBOL = true;
-
-  /** zzAtEOF == true <=> the scanner is at the EOF */
-  private boolean zzAtEOF;
-
-  /** denotes if the user-EOF-code has already been executed */
-  private boolean zzEOFDone;
-
-  /* user code: */
-	public int lineno() { return yyline + 1; }
-	public int colno() { return yycolumn + 1; }
-
-	private Symbol symbol(int type) {
-		return new Symbol(type, lineno(), colno());
-	}
-	private Symbol symbol(int type, Object value) {
-		return new Symbol(type, lineno(), colno(), value);
-	}
-
-	private int commentLevel = 0;
-
-
-  /**
-   * Creates a new scanner
-   * There is also a java.io.InputStream version of this constructor.
-   *
-   * @param   in  the java.io.Reader to read input from.
-   */
-  public XPathFlex(java.io.Reader in) {
-    this.zzReader = in;
-  }
-
-  /**
-   * Creates a new scanner.
-   * There is also java.io.Reader version of this constructor.
-   *
-   * @param   in  the java.io.Inputstream to read input from.
-   */
-  XPathFlex(java.io.InputStream in) {
-    this(new java.io.InputStreamReader(in));
-  }
-
-  /** 
-   * Unpacks the compressed character translation table.
-   *
-   * @param packed   the packed character translation table
-   * @return         the unpacked character translation table
-   */
-  private static char [] zzUnpackCMap(String packed) {
-    char [] map = new char[0x10000];
-    int i = 0;  /* index in packed string  */
-    int j = 0;  /* index in unpacked array */
-    while (i < 132) {
-      int  count = packed.charAt(i++);
-      char value = packed.charAt(i++);
-      do map[j++] = value; while (--count > 0);
-    }
-    return map;
-  }
-
-
-  /**
-   * Refills the input buffer.
-   *
-   * @return      <code>false</code>, iff there was new input.
-   * 
-   * @exception   java.io.IOException  if any I/O-Error occurs
-   */
-  private boolean zzRefill() throws java.io.IOException {
-
-    /* first: make room (if you can) */
-    if (zzStartRead > 0) {
-      System.arraycopy(zzBuffer, zzStartRead,
-                       zzBuffer, 0,
-                       zzEndRead-zzStartRead);
-
-      /* translate stored positions */
-      zzEndRead-= zzStartRead;
-      zzCurrentPos-= zzStartRead;
-      zzMarkedPos-= zzStartRead;
-      zzStartRead = 0;
-    }
-
-    /* is the buffer big enough? */
-    if (zzCurrentPos >= zzBuffer.length) {
-      /* if not: blow it up */
-      char newBuffer[] = new char[zzCurrentPos*2];
-      System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
-      zzBuffer = newBuffer;
-    }
-
-    /* finally: fill the buffer with new input */
-    int numRead = zzReader.read(zzBuffer, zzEndRead,
-                                            zzBuffer.length-zzEndRead);
-
-    if (numRead > 0) {
-      zzEndRead+= numRead;
-      return false;
-    }
-    // unlikely but not impossible: read 0 characters, but not at end of stream    
-    if (numRead == 0) {
-      int c = zzReader.read();
-      if (c == -1) {
-        return true;
-      } else {
-        zzBuffer[zzEndRead++] = (char) c;
-        return false;
-      }     
-    }
-
-	// numRead < 0
-    return true;
-  }
-
-    
-  /**
-   * Closes the input stream.
-   */
-  public final void yyclose() throws java.io.IOException {
-    zzAtEOF = true;            /* indicate end of file */
-    zzEndRead = zzStartRead;  /* invalidate buffer    */
-
-    if (zzReader != null)
-      zzReader.close();
-  }
-
-
-  /**
-   * Resets the scanner to read from a new input stream.
-   * Does not close the old reader.
-   *
-   * All internal variables are reset, the old input stream 
-   * <b>cannot</b> be reused (internal buffer is discarded and lost).
-   * Lexical state is set to <tt>ZZ_INITIAL</tt>.
-   *
-   * @param reader   the new input stream 
-   */
-  public final void yyreset(java.io.Reader reader) {
-    zzReader = reader;
-    zzAtBOL  = true;
-    zzAtEOF  = false;
-    zzEOFDone = false;
-    zzEndRead = zzStartRead = 0;
-    zzCurrentPos = zzMarkedPos = 0;
-    yyline = yychar = yycolumn = 0;
-    zzLexicalState = YYINITIAL;
-  }
-
-
-  /**
-   * Returns the current lexical state.
-   */
-  public final int yystate() {
-    return zzLexicalState;
-  }
-
-
-  /**
-   * Enters a new lexical state
-   *
-   * @param newState the new lexical state
-   */
-  public final void yybegin(int newState) {
-    zzLexicalState = newState;
-  }
-
-
-  /**
-   * Returns the text matched by the current regular expression.
-   */
-  public final String yytext() {
-    return new String( zzBuffer, zzStartRead, zzMarkedPos-zzStartRead );
-  }
-
-
-  /**
-   * Returns the character at position <tt>pos</tt> from the 
-   * matched text. 
-   * 
-   * It is equivalent to yytext().charAt(pos), but faster
-   *
-   * @param pos the position of the character to fetch. 
-   *            A value from 0 to yylength()-1.
-   *
-   * @return the character at position pos
-   */
-  public final char yycharat(int pos) {
-    return zzBuffer[zzStartRead+pos];
-  }
-
-
-  /**
-   * Returns the length of the matched text region.
-   */
-  public final int yylength() {
-    return zzMarkedPos-zzStartRead;
-  }
-
-
-  /**
-   * Reports an error that occured while scanning.
-   *
-   * In a wellformed scanner (no or only correct usage of 
-   * yypushback(int) and a match-all fallback rule) this method 
-   * will only be called with things that "Can't Possibly Happen".
-   * If this method is called, something is seriously wrong
-   * (e.g. a JFlex bug producing a faulty scanner etc.).
-   *
-   * Usual syntax/scanner level error handling should be done
-   * in error fallback rules.
-   *
-   * @param   errorCode  the code of the errormessage to display
-   */
-  private void zzScanError(int errorCode) {
-    String message;
-    try {
-      message = ZZ_ERROR_MSG[errorCode];
-    }
-    catch (ArrayIndexOutOfBoundsException e) {
-      message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
-    }
-
-    throw new Error(message);
-  } 
-
-
-  /**
-   * Pushes the specified amount of characters back into the input stream.
-   *
-   * They will be read again by then next call of the scanning method
-   *
-   * @param number  the number of characters to be read again.
-   *                This number must not be greater than yylength()!
-   */
-  public void yypushback(int number)  {
-    if ( number > yylength() )
-      zzScanError(ZZ_PUSHBACK_2BIG);
-
-    zzMarkedPos -= number;
-  }
-
-
-  /**
-   * Contains user EOF-code, which will be executed exactly once,
-   * when the end of file is reached
-   */
-  private void zzDoEOF() throws java.io.IOException {
-    if (!zzEOFDone) {
-      zzEOFDone = true;
-      yyclose();
-    }
-  }
-
-
-  /**
-   * Resumes scanning until the next regular expression is matched,
-   * the end of input is encountered or an I/O-Error occurs.
-   *
-   * @return      the next token
-   * @exception   java.io.IOException  if any I/O-Error occurs
-   */
-  public java_cup.runtime.Symbol next_token() throws java.io.IOException {
-    int zzInput;
-    int zzAction;
-
-    // cached fields:
-    int zzCurrentPosL;
-    int zzMarkedPosL;
-    int zzEndReadL = zzEndRead;
-    char [] zzBufferL = zzBuffer;
-    char [] zzCMapL = ZZ_CMAP;
-
-    int [] zzTransL = ZZ_TRANS;
-    int [] zzRowMapL = ZZ_ROWMAP;
-    int [] zzAttrL = ZZ_ATTRIBUTE;
-
-    while (true) {
-      zzMarkedPosL = zzMarkedPos;
-
-      boolean zzR = false;
-      for (zzCurrentPosL = zzStartRead; zzCurrentPosL < zzMarkedPosL;
-                                                             zzCurrentPosL++) {
-        switch (zzBufferL[zzCurrentPosL]) {
-        case '\u000B':
-        case '\u000C':
-        case '\u0085':
-        case '\u2028':
-        case '\u2029':
-          yyline++;
-          yycolumn = 0;
-          zzR = false;
-          break;
-        case '\r':
-          yyline++;
-          yycolumn = 0;
-          zzR = true;
-          break;
-        case '\n':
-          if (zzR)
-            zzR = false;
-          else {
-            yyline++;
-            yycolumn = 0;
-          }
-          break;
-        default:
-          zzR = false;
-          yycolumn++;
-        }
-      }
-
-      if (zzR) {
-        // peek one character ahead if it is \n (if we have counted one line too much)
-        boolean zzPeek;
-        if (zzMarkedPosL < zzEndReadL)
-          zzPeek = zzBufferL[zzMarkedPosL] == '\n';
-        else if (zzAtEOF)
-          zzPeek = false;
-        else {
-          boolean eof = zzRefill();
-          zzEndReadL = zzEndRead;
-          zzMarkedPosL = zzMarkedPos;
-          zzBufferL = zzBuffer;
-          if (eof) 
-            zzPeek = false;
-          else 
-            zzPeek = zzBufferL[zzMarkedPosL] == '\n';
-        }
-        if (zzPeek) yyline--;
-      }
-      zzAction = -1;
-
-      zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
-  
-      zzState = ZZ_LEXSTATE[zzLexicalState];
-
-
-      zzForAction: {
-        while (true) {
-    
-          if (zzCurrentPosL < zzEndReadL)
-            zzInput = zzBufferL[zzCurrentPosL++];
-          else if (zzAtEOF) {
-            zzInput = YYEOF;
-            break zzForAction;
-          }
-          else {
-            // store back cached positions
-            zzCurrentPos  = zzCurrentPosL;
-            zzMarkedPos   = zzMarkedPosL;
-            boolean eof = zzRefill();
-            // get translated positions and possibly new buffer
-            zzCurrentPosL  = zzCurrentPos;
-            zzMarkedPosL   = zzMarkedPos;
-            zzBufferL      = zzBuffer;
-            zzEndReadL     = zzEndRead;
-            if (eof) {
-              zzInput = YYEOF;
-              break zzForAction;
-            }
-            else {
-              zzInput = zzBufferL[zzCurrentPosL++];
-            }
-          }
-          int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
-          if (zzNext == -1) break zzForAction;
-          zzState = zzNext;
-
-          int zzAttributes = zzAttrL[zzState];
-          if ( (zzAttributes & 1) == 1 ) {
-            zzAction = zzState;
-            zzMarkedPosL = zzCurrentPosL;
-            if ( (zzAttributes & 8) == 8 ) break zzForAction;
-          }
-
-        }
-      }
-
-      // store back cached position
-      zzMarkedPos = zzMarkedPosL;
-
-      switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
-        case 74: 
-          { return symbol(XpathSym.ANCESTOR);
-          }
-        case 92: break;
-        case 56: 
-          { return symbol(XpathSym.ITEM);
-          }
-        case 93: break;
-        case 46: 
-          { return symbol(XpathSym.GT);
-          }
-        case 94: break;
-        case 81: 
-          { return symbol(XpathSym.DESCENDANT);
-          }
-        case 95: break;
-        case 15: 
-          { return symbol(XpathSym.EQUALS);
-          }
-        case 96: break;
-        case 3: 
-          { return symbol(XpathSym.INTEGER, new BigInteger(yytext()));
-          }
-        case 97: break;
-        case 39: 
-          { return symbol(XpathSym.EQ);
-          }
-        case 98: break;
-        case 71: 
-          { return symbol(XpathSym.ELEMENT);
-          }
-        case 99: break;
-        case 77: 
-          { return symbol(XpathSym.NAMESPACE);
-          }
-        case 100: break;
-        case 34: 
-          { return symbol(XpathSym.IS);
-          }
-        case 101: break;
-        case 23: 
-          { // get rid of quotes
-				String str = yytext();
-				assert str.length() >= 2;
-				return symbol(XpathSym.STRING, org.eclipse.wst.xml.xpath2.processor.internal.utils.LiteralUtils.unquote(str));
-          }
-        case 102: break;
-        case 1: 
-          { String err = "Unknown character at line " + lineno(); 
-		err += " col " + colno();
-		err += ": " + yytext(); 
-			     
-		throw new JFlexError(err);
-          }
-        case 103: break;
-        case 20: 
-          { return symbol(XpathSym.COMMA);
-          }
-        case 104: break;
-        case 70: 
-          { return symbol(XpathSym.COMMENT);
-          }
-        case 105: break;
-        case 38: 
-          { return symbol(XpathSym.LT);
-          }
-        case 106: break;
-        case 30: 
-          { return symbol(XpathSym.LESS_LESS);
-          }
-        case 107: break;
-        case 65: 
-          { return symbol(XpathSym.TREAT);
-          }
-        case 108: break;
-        case 13: 
-          { return symbol(XpathSym.STAR);
-          }
-        case 109: break;
-        case 66: 
-          { return symbol(XpathSym.UNION);
-          }
-        case 110: break;
-        case 21: 
-          { return symbol(XpathSym.DOLLAR);
-          }
-        case 111: break;
-        case 85: 
-          { return symbol(XpathSym.SCHEMA_ELEMENT);
-          }
-        case 112: break;
-        case 35: 
-          { return symbol(XpathSym.IN);
-          }
-        case 113: break;
-        case 43: 
-          { return symbol(XpathSym.OR);
-          }
-        case 114: break;
-        case 25: 
-          { return symbol(XpathSym.DOTDOT);
-          }
-        case 115: break;
-        case 82: 
-          { return symbol(XpathSym.TYPESWITCH);
-          }
-        case 116: break;
-        case 5: 
-          { return symbol(XpathSym.NCNAME, yytext());
-          }
-        case 117: break;
-        case 24: 
-          { return symbol(XpathSym.DECIMAL, new BigDecimal(yytext()));
-          }
-        case 118: break;
-        case 19: 
-          { return symbol(XpathSym.AT_SYM);
-          }
-        case 119: break;
-        case 29: 
-          { return symbol(XpathSym.LESSEQUAL);
-          }
-        case 120: break;
-        case 26: 
-          { commentLevel++; // int overflow =P
-			  yybegin(COMMENT);
-          }
-        case 121: break;
-        case 83: 
-          { return symbol(XpathSym.DOCUMENT_NODE);
-          }
-        case 122: break;
-        case 33: 
-          { return symbol(XpathSym.FORWARD_SLASHSLASH);
-          }
-        case 123: break;
-        case 18: 
-          { return symbol(XpathSym.FORWARD_SLASH);
-          }
-        case 124: break;
-        case 67: 
-          { return symbol(XpathSym.EXCEPT);
-          }
-        case 125: break;
-        case 89: 
-          { return symbol(XpathSym.PRECEDING_SIBLING);
-          }
-        case 126: break;
-        case 73: 
-          { return symbol(XpathSym.INSTANCE);
-          }
-        case 127: break;
-        case 57: 
-          { return symbol(XpathSym.ELSE);
-          }
-        case 128: break;
-        case 45: 
-          { return symbol(XpathSym.GE);
-          }
-        case 129: break;
-        case 47: 
-          { commentLevel++;
-          }
-        case 130: break;
-        case 36: 
-          { return symbol(XpathSym.IF);
-          }
-        case 131: break;
-        case 42: 
-          { return symbol(XpathSym.TO);
-          }
-        case 132: break;
-        case 84: 
-          { return symbol(XpathSym.EMPTY_SEQUENCE);
-          }
-        case 133: break;
-        case 80: 
-          { return symbol(XpathSym.PRECEDING);
-          }
-        case 134: break;
-        case 31: 
-          { return symbol(XpathSym.GREATEREQUAL);
-          }
-        case 135: break;
-        case 87: 
-          { return symbol(XpathSym.ANCESTOR_OR_SELF);
-          }
-        case 136: break;
-        case 78: 
-          { return symbol(XpathSym.ATTRIBUTE);
-          }
-        case 137: break;
-        case 86: 
-          { return symbol(XpathSym.SCHEMA_ATTRIBUTE);
-          }
-        case 138: break;
-        case 79: 
-          { return symbol(XpathSym.FOLLOWING);
-          }
-        case 139: break;
-        case 52: 
-          { return symbol(XpathSym.FOR);
-          }
-        case 140: break;
-        case 14: 
-          { return symbol(XpathSym.PIPE);
-          }
-        case 141: break;
-        case 22: 
-          { return symbol(XpathSym.QUESTIONMARK);
-          }
-        case 142: break;
-        case 37: 
-          { return symbol(XpathSym.LE);
-          }
-        case 143: break;
-        case 75: 
-          { return symbol(XpathSym.INTERSECT);
-          }
-        case 144: break;
-        case 48: 
-          { commentLevel--; 
-			  if(commentLevel == 0)
-		          	yybegin(YYINITIAL);
-          }
-        case 145: break;
-        case 44: 
-          { return symbol(XpathSym.OF);
-          }
-        case 146: break;
-        case 63: 
-          { return symbol(XpathSym.CHILD);
-          }
-        case 147: break;
-        case 40: 
-          { return symbol(XpathSym.NE);
-          }
-        case 148: break;
-        case 58: 
-          { return symbol(XpathSym.SELF);
-          }
-        case 149: break;
-        case 27: 
-          { return symbol(XpathSym.COLONCOLON);
-          }
-        case 150: break;
-        case 50: 
-          { return symbol(XpathSym.DIV);
-          }
-        case 151: break;
-        case 88: 
-          { return symbol(XpathSym.FOLLOWING_SIBLING);
-          }
-        case 152: break;
-        case 62: 
-          { return symbol(XpathSym.TEXT);
-          }
-        case 153: break;
-        case 68: 
-          { return symbol(XpathSym.RETURN);
-          }
-        case 154: break;
-        case 53: 
-          { return symbol(XpathSym.MOD);
-          }
-        case 155: break;
-        case 6: 
-          { return symbol(XpathSym.PLUS);
-          }
-        case 156: break;
-        case 28: 
-          { return symbol(XpathSym.NOTEQUALS);
-          }
-        case 157: break;
-        case 32: 
-          { return symbol(XpathSym.GREATER_GREATER);
-          }
-        case 158: break;
-        case 64: 
-          { return symbol(XpathSym.EVERY);
-          }
-        case 159: break;
-        case 72: 
-          { return symbol(XpathSym.CASTABLE);
-          }
-        case 160: break;
-        case 90: 
-          { return symbol(XpathSym.DESCENDANT_OR_SELF);
-          }
-        case 161: break;
-        case 76: 
-          { return symbol(XpathSym.SATISFIES);
-          }
-        case 162: break;
-        case 91: 
-          { return symbol(XpathSym.PROCESSING_INSTRUCTION);
-          }
-        case 163: break;
-        case 16: 
-          { return symbol(XpathSym.LESSTHAN);
-          }
-        case 164: break;
-        case 54: 
-          { return symbol(XpathSym.CAST);
-          }
-        case 165: break;
-        case 12: 
-          { return symbol(XpathSym.RPAR);
-          }
-        case 166: break;
-        case 2: 
-          { /* ignore */
-          }
-        case 167: break;
-        case 10: 
-          { return symbol(XpathSym.LBRACKET);
-          }
-        case 168: break;
-        case 60: 
-          { return symbol(XpathSym.NODE);
-          }
-        case 169: break;
-        case 55: 
-          { return symbol(XpathSym.IDIV);
-          }
-        case 170: break;
-        case 49: 
-          { return symbol(XpathSym.DOUBLE, new Double(yytext()));
-          }
-        case 171: break;
-        case 61: 
-          { return symbol(XpathSym.THEN);
-          }
-        case 172: break;
-        case 59: 
-          { return symbol(XpathSym.SOME);
-          }
-        case 173: break;
-        case 69: 
-          { return symbol(XpathSym.PARENT);
-          }
-        case 174: break;
-        case 7: 
-          { return symbol(XpathSym.MINUS);
-          }
-        case 175: break;
-        case 41: 
-          { return symbol(XpathSym.AS);
-          }
-        case 176: break;
-        case 4: 
-          { return symbol(XpathSym.DOT);
-          }
-        case 177: break;
-        case 11: 
-          { return symbol(XpathSym.RBRACKET);
-          }
-        case 178: break;
-        case 17: 
-          { return symbol(XpathSym.GREATER);
-          }
-        case 179: break;
-        case 51: 
-          { return symbol(XpathSym.AND);
-          }
-        case 180: break;
-        case 8: 
-          { return symbol(XpathSym.LPAR);
-          }
-        case 181: break;
-        case 9: 
-          { return symbol(XpathSym.COLON);
-          }
-        case 182: break;
-        default: 
-          if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
-            zzAtEOF = true;
-            zzDoEOF();
-              { return new java_cup.runtime.Symbol(XpathSym.EOF); }
-          } 
-          else {
-            zzScanError(ZZ_NO_MATCH);
-          }
-      }
-    }
-  }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XpathSym.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XpathSym.java
deleted file mode 100644
index 402cc82..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XpathSym.java
+++ /dev/null
@@ -1,101 +0,0 @@
-
-//----------------------------------------------------
-// The following code was generated by CUP v0.10k
-// Mon Dec 14 02:02:22 CET 2009
-//----------------------------------------------------
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-/** CUP generated class containing symbol constants. */
-public class XpathSym {
-  /* terminals */
-  public static final int DESCENDANT_OR_SELF = 32;
-  public static final int AS = 56;
-  public static final int GT = 45;
-  public static final int FOLLOWING = 34;
-  public static final int FORWARD_SLASHSLASH = 19;
-  public static final int PARENT = 36;
-  public static final int GE = 46;
-  public static final int DOCUMENT_NODE = 75;
-  public static final int NAMESPACE = 35;
-  public static final int FORWARD_SLASH = 18;
-  public static final int TREAT = 55;
-  public static final int NODE = 74;
-  public static final int COMMA = 24;
-  public static final int ANCESTOR = 37;
-  public static final int LT = 43;
-  public static final int INTEGER = 83;
-  public static final int DOUBLE = 84;
-  public static final int CHILD = 28;
-  public static final int FOLLOWING_SIBLING = 33;
-  public static final int EVERY = 66;
-  public static final int SELF = 31;
-  public static final int LE = 44;
-  public static final int ELEMENT = 80;
-  public static final int TEXT = 76;
-  public static final int INSTANCE = 53;
-  public static final int NOTEQUALS = 11;
-  public static final int THEN = 68;
-  public static final int SCHEMA_ELEMENT = 81;
-  public static final int SCHEMA_ATTRIBUTE = 79;
-  public static final int ANCESTOR_OR_SELF = 40;
-  public static final int EQ = 41;
-  public static final int PRECEDING = 39;
-  public static final int MOD = 49;
-  public static final int AT_SYM = 21;
-  public static final int DOLLAR = 25;
-  public static final int EXCEPT = 52;
-  public static final int LESSTHAN = 12;
-  public static final int PIPE = 9;
-  public static final int LESSEQUAL = 13;
-  public static final int QUESTIONMARK = 27;
-  public static final int PLUS = 6;
-  public static final int IDIV = 48;
-  public static final int LPAR = 4;
-  public static final int UNION = 50;
-  public static final int GREATEREQUAL = 15;
-  public static final int DECIMAL = 85;
-  public static final int FOR = 60;
-  public static final int STAR = 8;
-  public static final int GREATER = 14;
-  public static final int PRECEDING_SIBLING = 38;
-  public static final int DIV = 47;
-  public static final int RETURN = 62;
-  public static final int ELSE = 69;
-  public static final int DOTDOT = 22;
-  public static final int DOT = 26;
-  public static final int EOF = 0;
-  public static final int NCNAME = 87;
-  public static final int COMMENT = 77;
-  public static final int INTERSECT = 51;
-  public static final int RPAR = 5;
-  public static final int ITEM = 73;
-  public static final int EMPTY_SEQUENCE = 72;
-  public static final int CASTABLE = 57;
-  public static final int IS = 59;
-  public static final int MINUS = 7;
-  public static final int PROCESSING_INSTRUCTION = 78;
-  public static final int IN = 61;
-  public static final int OR = 71;
-  public static final int error = 1;
-  public static final int ATTRIBUTE = 30;
-  public static final int IF = 67;
-  public static final int TYPESWITCH = 82;
-  public static final int CAST = 58;
-  public static final int OF = 54;
-  public static final int COLON = 23;
-  public static final int DESCENDANT = 29;
-  public static final int SOME = 65;
-  public static final int RBRACKET = 3;
-  public static final int COLONCOLON = 20;
-  public static final int GREATER_GREATER = 17;
-  public static final int STRING = 86;
-  public static final int SATISFIES = 63;
-  public static final int AND = 70;
-  public static final int TO = 64;
-  public static final int LBRACKET = 2;
-  public static final int NE = 42;
-  public static final int LESS_LESS = 16;
-  public static final int EQUALS = 10;
-}
-
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AddExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AddExpr.java
deleted file mode 100644
index 5950840..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AddExpr.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for binary operation Add, takes 2 inputs and returns the combined
- * value.
- */
-public class AddExpr extends BinExpr {
-
-	/**
-	 * Constructor for AddExpr
-	 * 
-	 * @param l
-	 *            input1 xpath expression/variable.
-	 * @param r
-	 *            input2 xpath expression/variable.
-	 */
-	public AddExpr(Expr l, Expr r) {
-		super(l, r);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AndExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AndExpr.java
deleted file mode 100644
index 28b837c..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AndExpr.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for binary operation And. The value of an and-expression is determined
- * by the effective boolean values (EBV's) of its operands.
- */
-public class AndExpr extends BinExpr {
-
-	/**
-	 * Constructor for AndExpr.
-	 * 
-	 * @param l
-	 *            input1 xpath expression.
-	 * @param r
-	 *            input2 xpath expression.
-	 */
-	public AndExpr(Expr l, Expr r) {
-		super(l, r);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AnyKindTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AnyKindTest.java
deleted file mode 100644
index cc4bf48..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AnyKindTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     David Carver - bug 298535 - Attribute instance of improvements 
- ******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-/**
- * Class to test a type of any kind. This matches any node in the expression.
- */
-public class AnyKindTest extends KindTest {
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	@Override
-	public AnyType createTestType(ResultSequence rs) {
-		return null;
-	}
-
-	@Override
-	public QName name() {
-		return null;
-	}
-
-	@Override
-	public boolean isWild() {
-		return false;
-	}
-
-	@Override
-	public Class getXDMClassType() {
-		return NodeType.class;
-	}
-	
-	
-
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AttrElemTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AttrElemTest.java
deleted file mode 100644
index 18d678d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AttrElemTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.apache.xerces.xs.XSConstants;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * Common base class for Attribute and Element tests.
- */
-public abstract class AttrElemTest extends KindTest {
-	private QName _name;
-	private QName _type; // may be null
-	private boolean _wild; // use wild qname ?
-
-	/**
-	 * Constructor for Attribute and Element tests. This takes in 3 inputs,
-	 * Name, wildcard test(true/false) and type.
-	 * 
-	 * @param name
-	 *            QName.
-	 * @param wild
-	 *            Wildcard test? True/False.
-	 * @param type
-	 *            QName type.
-	 */
-	public AttrElemTest(QName name, boolean wild, QName type) {
-		_name = name;
-		_wild = wild;
-		_type = type;
-	}
-
-	/**
-	 * Constructor for Attribute and Element tests. This takes in 2 inputs, Name
-	 * and wildcard test(true/false).
-	 * 
-	 * @param name
-	 *            QName.
-	 * @param wild
-	 *            Wildcard test? True/False.
-	 */
-	public AttrElemTest(QName name, boolean wild) {
-		this(name, wild, null);
-	}
-
-	/**
-	 * Default Constructor for Attribute and Element tests. This takes in no
-	 * inputs.
-	 */
-	public AttrElemTest() {
-		this(null, false);
-	}
-
-	/**
-	 * Support for wildcard test.
-	 * 
-	 * @return Result of wildcard test.
-	 */
-	public boolean wild() {
-		return _wild;
-	}
-
-	/**
-	 * Support for name test.
-	 * 
-	 * @return Result of name test.
-	 */
-	public QName name() {
-		return _name;
-	}
-
-	/**
-	 * Support for type test.
-	 * 
-	 * @return Result of type test.
-	 */
-	public QName type() {
-		return _type;
-	}
-
-	protected short getDerviationTypes() {
-		return XSConstants.DERIVATION_LIST | XSConstants.DERIVATION_EXTENSION
-				| XSConstants.DERIVATION_RESTRICTION
-				| XSConstants.DERIVATION_SUBSTITUTION;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AttributeTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AttributeTest.java
deleted file mode 100644
index 6587017..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AttributeTest.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     David Carver - bug 298535 - Attribute instance of improvements 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.apache.xerces.xs.AttributePSVI;
-import org.apache.xerces.xs.ItemPSVI;
-import org.apache.xerces.xs.XSTypeDefinition;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Node;
-
-/**
- * Class used to match an attribute node by its name and/or type.
- */
-public class AttributeTest extends AttrElemTest {
-
-	private AnyType anyType = null;
-
-	/**
-	 * Constructor for AttributeTest. This one takes in 3 inputs, Name, wildcard
-	 * test(true/false) and type.
-	 * 
-	 * @param name
-	 *            QName.
-	 * @param wild
-	 *            Wildcard test, True/False.
-	 * @param type
-	 *            QName type.
-	 */
-	public AttributeTest(QName name, boolean wild, QName type) {
-		super(name, wild, type);
-	}
-
-	/**
-	 * Constructor for AttributeTest. This one takes in 2 inputs, Name and
-	 * wildcard test(true/false).
-	 * 
-	 * @param name
-	 *            QName.
-	 * @param wild
-	 *            Wildcard test, True/False.
-	 */
-	public AttributeTest(QName name, boolean wild) {
-		super(name, wild);
-	}
-
-	/**
-	 * Default Constructor for AttributeTest.
-	 */
-	public AttributeTest() {
-		super();
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	@Override
-	public AnyType createTestType(ResultSequence rs) {
-		if (name() == null && !wild()) {
-			return new AttrType();
-		}
-
-		AnyType at = rs.first();
-
-		if (!(at instanceof NodeType)) {
-			return new AttrType();
-		}
-
-		return createAttrType(at);
-	}
-
-	private AnyType createAttrType(AnyType at) {
-		anyType = new AttrType();
-		NodeType nodeType = (NodeType) at;
-		Node node = nodeType.node_value();
-		if (node == null) {
-			return anyType;
-		}
-
-		String nodeName = node.getLocalName();
-
-		if (wild()) {
-			if (type() != null) {
-				anyType = createAttrForXSDType(node);
-			}
-		} else if (nodeName.equals(name().local())) {
-			if (type() != null) {
-				anyType = createAttrForXSDType(node);
-			} else {
-				anyType = new AttrType((Attr) node);
-			}
-		}
-		return anyType;
-	}
-
-	private AnyType createAttrForXSDType(Node node) {
-		Attr attr = (Attr) node;
-		if (!(attr instanceof ItemPSVI)) {
-			anyType = new AttrType(attr);
-		} else {
-			AttributePSVI elempsvi = (AttributePSVI) attr;
-			XSTypeDefinition typedef = elempsvi.getTypeDefinition();
-			if (typedef != null) {
-				if (typedef.derivedFrom(type().namespace(), type().local(),
-						getDerviationTypes())) {
-					anyType = new AttrType(attr);
-				}
-			}
-		}
-		return anyType;
-	}
-
-	@Override
-	public boolean isWild() {
-		return wild();
-	}
-
-	@Override
-	public Class getXDMClassType() {
-		return AttrType.class;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AxisStep.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AxisStep.java
deleted file mode 100644
index 6dda7b2..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AxisStep.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import java.util.*;
-
-/**
- * Class for AxisStep, this generates a sequence of zero or more nodes. These
- * nodes are always returned in Document Order. This can be Forward Step or
- * Reverse Step.
- */
-public class AxisStep extends StepExpr {
-	private Step _step;
-	private Collection _exprs;
-
-	/**
-	 * Constructor for AxisStep.
-	 * 
-	 * @param step
-	 *            Defines forward/reverse step.
-	 * @param exprs
-	 *            Collection of xpath expressions.
-	 */
-	public AxisStep(Step step, Collection exprs) {
-		_step = step;
-		_exprs = exprs;
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * Advances to next step.
-	 * 
-	 * @return Previous step.
-	 */
-	public Step step() {
-		return _step;
-	}
-
-	/**
-	 * Set the step direction.
-	 */
-	public void set_step(Step s) {
-		_step = s;
-	}
-
-	/**
-	 * Interator.
-	 * 
-	 * @return Iterated expressions.
-	 */
-	public Iterator iterator() {
-		return _exprs.iterator();
-	}
-
-	/**
-	 * Determines size of expressions.
-	 * 
-	 * @return Size of expressions.
-	 */
-	public int predicate_count() {
-		return _exprs.size();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/BinExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/BinExpr.java
deleted file mode 100644
index 3f07c79..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/BinExpr.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Abstract class for a Binary operation.
- */
-public abstract class BinExpr extends Expr {
-	// XXX: review hierarchy - strictly should be Expr
-	// or rename to binop
-	private XPathNode _left;
-	private XPathNode _right;
-
-	/**
-	 * Constructor for BinExpr.
-	 * 
-	 * @param l
-	 *            left xpath node for the operation.
-	 * @param r
-	 *            right xpath node for the operation.
-	 */
-	public BinExpr(XPathNode l, XPathNode r) {
-		_left = l;
-		_right = r;
-	}
-
-	/**
-	 * Left xpath node.
-	 * 
-	 * @return Left node.
-	 */
-	public XPathNode left() {
-		return _left;
-	}
-
-	/**
-	 * Right xpath node.
-	 * 
-	 * @return Right node.
-	 */
-	public XPathNode right() {
-		return _right;
-	}
-
-	/**
-	 * Set the left xpath node.
-	 * 
-	 * @param n
-	 *            Left node.
-	 */
-	public void set_left(XPathNode n) {
-		_left = n;
-	}
-
-	/**
-	 * Set the right xpath node.
-	 * 
-	 * @param n
-	 *            Right node.
-	 */
-	public void set_right(XPathNode n) {
-		_right = n;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CastExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CastExpr.java
deleted file mode 100644
index 8084930..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CastExpr.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * A class that creates a new value of a specific type based on an existing
- * value. A cast expression takes two operands: an input expression and a target
- * type. The type of the input expression is called the input type. The target
- * type must be a named atomic type, represented by a QName, optionally followed
- * by the occurrence indicator ? if an empty sequence is permitted. If the
- * target type has no namespace prefix, it is considered to be in the default
- * element/type namespace.
- */
-public class CastExpr extends BinExpr {
-
-	/**
-	 * Constructor for CastExpr.
-	 * 
-	 * @param l
-	 *            input xpath expression/variable.
-	 * @param r
-	 *            SingleType to cast l to.
-	 */
-	public CastExpr(Expr l, SingleType r) {
-		super(l, r);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CastableExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CastableExpr.java
deleted file mode 100644
index 0b60281..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CastableExpr.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * A class that tests whether a given value is castable into a given type. This
- * can be used to select an appropriate type for processing a given value.
- */
-public class CastableExpr extends BinExpr {
-
-	/**
-	 * Constructor of CastableExpr
-	 * 
-	 * @param l
-	 *            input xpath expression/variable.
-	 * @param r
-	 *            SingleType to check l against.
-	 */
-	public CastableExpr(Expr l, SingleType r) {
-		super(l, r);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CmpExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CmpExpr.java
deleted file mode 100644
index 84785c0..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CmpExpr.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * The comparison of expression operator takes the value of its left operand and
- * compares (dependant on type) against its right operand, according to the
- * rules of the particular comparison rule
- */
-public class CmpExpr extends BinExpr {
-	/**
-	 * Set internal value for EQUALS operation.
-	 */
-	public static final int EQUALS = 0;
-	/**
-	 * Set internal value for NOTEQUALS operation.
-	 */
-	public static final int NOTEQUALS = 1;
-	/**
-	 * Set internal value for LESSTHAN operation.
-	 */
-	public static final int LESSTHAN = 2;
-	/**
-	 * Set internal value for LESSEQUAL operation.
-	 */
-	public static final int LESSEQUAL = 3;
-	/**
-	 * Set internal value for GREATER operation.
-	 */
-	public static final int GREATER = 4;
-	/**
-	 * Set internal value for GREATEREQUAL operation.
-	 */
-	public static final int GREATEREQUAL = 5;
-	/**
-	 * Set internal value for EQ operation.
-	 */
-	public static final int EQ = 6;
-	/**
-	 * Set internal value for NE operation.
-	 */
-	public static final int NE = 7;
-	/**
-	 * Set internal value for LT operation.
-	 */
-	public static final int LT = 8;
-	/**
-	 * Set internal value for LE operation.
-	 */
-	public static final int LE = 9;
-	/**
-	 * Set internal value for GT operation.
-	 */
-	public static final int GT = 10;
-	/**
-	 * Set internal value for GE operation.
-	 */
-	public static final int GE = 11;
-	/**
-	 * Set internal value for IS operation.
-	 */
-	public static final int IS = 12;
-	/**
-	 * Set internal value for LESS_LESS operation.
-	 */
-	public static final int LESS_LESS = 13;
-	/**
-	 * Set internal value for GREATER_GREATER operation.
-	 */
-	public static final int GREATER_GREATER = 14;
-
-	private int _type;
-
-	/**
-	 * Constructor for CmpExpr
-	 * 
-	 * @param l
-	 *            input xpath left expression/variable
-	 * @param r
-	 *            input xpath right expression/variable
-	 * @param type
-	 *            what comparison to use l against r.
-	 */
-	public CmpExpr(Expr l, Expr r, int type) {
-		super(l, r);
-
-		_type = type;
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * @return comparison type
-	 */
-	public int type() {
-		return _type;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CntxItemExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CntxItemExpr.java
deleted file mode 100644
index 2deea82..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CntxItemExpr.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for Context Item Expresions.
- */
-public class CntxItemExpr extends PrimaryExpr {
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CommentTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CommentTest.java
deleted file mode 100644
index cef7d76..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CommentTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     David Carver - bug 298535 - Attribute instance of improvements 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.CommentType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-/**
- * Class for Comment testing.
- */
-public class CommentTest extends KindTest {
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	@Override
-	public AnyType createTestType(ResultSequence rs) {
-		return null;
-	}
-
-	@Override
-	public QName name() {
-		return null;
-	}
-
-	@Override
-	public boolean isWild() {
-		return false;
-	}
-
-	@Override
-	public Class getXDMClassType() {
-		return CommentType.class;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DecimalLiteral.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DecimalLiteral.java
deleted file mode 100644
index 7b7ba7f..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DecimalLiteral.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import java.math.BigDecimal;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- *The value of a numeric literal containing "." but no e or E character is an
- * atomic value of type xs:decimal
- * 
- */
-public class DecimalLiteral extends NumericLiteral {
-	private XSDecimal _value;
-
-	/**
-	 * Constructor for DecimalLiteral
-	 * 
-	 * @param value
-	 *            double value
-	 */
-	public DecimalLiteral(BigDecimal value) {
-		_value = new XSDecimal(value);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * @return xs:decimal value
-	 */
-	public XSDecimal value() {
-		return _value;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DivExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DivExpr.java
deleted file mode 100644
index b8df3fd..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DivExpr.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for Division expressions.
- */
-public class DivExpr extends BinExpr {
-	/**
-	 * Constructor for DivExpr.
-	 * 
-	 * @param l
-	 *            input1 xpath expression/variable.
-	 * @param r
-	 *            input2 xpath expression/variable.
-	 */
-	public DivExpr(Expr l, Expr r) {
-		super(l, r);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DocumentTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DocumentTest.java
deleted file mode 100644
index d652264..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DocumentTest.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver - bug 298535 - Attribute instance of improvements 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.DocType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-/**
- * Class for Document testing.
- */
-public class DocumentTest extends KindTest {
-	/**
-	 * Set internal value for NONE.
-	 */
-	public static final int NONE = 0;
-	/**
-	 * Set internal value for ELEMENT.
-	 */
-	public static final int ELEMENT = 1;
-	/**
-	 * Set internal value for SCHEMA_ELEMENT.
-	 */
-	public static final int SCHEMA_ELEMENT = 2;
-
-	// XXX: polymorphism
-	private int _type;
-
-	private AttrElemTest _etest;
-	private SchemaElemTest _schema_etest;
-
-	/**
-	 * Constructor for DocumentTest.
-	 * 
-	 * @param type
-	 *            Type of element to test.
-	 * @param arg
-	 *            xpath object to test.
-	 */
-	public DocumentTest(int type, Object arg) {
-		_etest = null;
-		_schema_etest = null;
-
-		_type = type;
-		switch (_type) {
-		case ELEMENT:
-			_etest = (AttrElemTest) arg;
-			break;
-		case SCHEMA_ELEMENT:
-			_schema_etest = (SchemaElemTest) arg;
-			break;
-		}
-	}
-
-	/**
-	 * Default Constructor for DocumentTest.
-	 */
-	public DocumentTest() {
-		this(NONE, null);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * Get test type.
-	 * 
-	 * @return Type of test.
-	 */
-	public int type() {
-		return _type;
-	}
-
-	/**
-	 * Element test.
-	 * 
-	 * @return Element test.
-	 */
-	public AttrElemTest elem_test() {
-		return _etest;
-	}
-
-	/**
-	 * Schema element test.
-	 * 
-	 * @return Schema element test.
-	 */
-	public SchemaElemTest schema_elem_test() {
-		return _schema_etest;
-	}
-
-	@Override
-	public AnyType createTestType(ResultSequence rs) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	@Override
-	public QName name() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	@Override
-	public boolean isWild() {
-		return false;
-	}
-
-	@Override
-	public Class getXDMClassType() {
-		return DocType.class;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DoubleLiteral.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DoubleLiteral.java
deleted file mode 100644
index 0570e76..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DoubleLiteral.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- *The value of a numeric literal containing an e or E character is an atomic
- * value of type xs:double
- * 
- */
-public class DoubleLiteral extends NumericLiteral {
-	private XSDouble _value;
-
-	/**
-	 * Constructor for Doubleiteral
-	 * 
-	 * @param value
-	 *            double value
-	 */
-	public DoubleLiteral(double value) {
-		_value = new XSDouble(value);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * @return xs:double value
-	 */
-	public XSDouble value() {
-		return _value;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ElementTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ElementTest.java
deleted file mode 100644
index 0262300..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ElementTest.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     David Carver - bug 298535 - Attribute instance of improvements 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.apache.xerces.xs.ElementPSVI;
-import org.apache.xerces.xs.ItemPSVI;
-import org.apache.xerces.xs.XSTypeDefinition;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * Class for Element testing.
- */
-public class ElementTest extends AttrElemTest {
-	private boolean _qmark = false;
-
-	private AnyType anyType = null;
-
-	/**
-	 * Constructor for ElementTest. This takes in 4 inputs, Name, wildcard
-	 * test(true/false), type and question mark test(true/false).
-	 * 
-	 * @param name
-	 *            Name of element to test.
-	 * @param wild
-	 *            Wildcard test? (true/false).
-	 * @param type
-	 *            Type of element to test.
-	 * @param qmark
-	 *            Nilled property (true/false).
-	 */
-	public ElementTest(QName name, boolean wild, QName type, boolean qmark) {
-		super(name, wild, type);
-		_qmark = qmark;
-	}
-
-	/**
-	 * Constructor for ElementTest. This takes in 3 inputs, Name, wildcard
-	 * test(true/false)and type.
-	 * 
-	 * @param name
-	 *            Name of element to test.
-	 * @param wild
-	 *            Wildcard test? (true/false).
-	 * @param type
-	 *            Type of element to test.
-	 */
-	public ElementTest(QName name, boolean wild, QName type) {
-		super(name, wild, type);
-	}
-
-	/**
-	 * Constructor for ElementTest. This takes in 2 inputs, Name, wildcard
-	 * test(true/false).
-	 * 
-	 * @param name
-	 *            Name of element to test.
-	 * @param wild
-	 *            Wildcard test? (true/false).
-	 */
-	public ElementTest(QName name, boolean wild) {
-		super(name, wild);
-	}
-
-	/**
-	 * Default Constructor for ElementTest.
-	 */
-	public ElementTest() {
-		super();
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * Set nilled property.
-	 * 
-	 * @return Result of operation.
-	 */
-	public boolean qmark() {
-		return _qmark;
-	}
-
-	@Override
-	public AnyType createTestType(ResultSequence rs) {
-
-		if (name() == null && !wild()) {
-			return new ElementType();
-		}
-
-		AnyType at = rs.first();
-
-		if (!(at instanceof NodeType)) {
-			return new ElementType();
-		}
-
-		return createElementType(at);
-	}
-
-	private AnyType createElementType(AnyType at) {
-		anyType = new ElementType();
-		NodeType nodeType = (NodeType) at;
-		Node node = nodeType.node_value();
-		Document doc = null;
-		if (node.getNodeType() == Node.DOCUMENT_NODE) {
-			doc = (Document) node;
-		} else {
-			doc = nodeType.node_value().getOwnerDocument();
-		}
-		
-		NodeList nodeList = null;		
-		if (!wild()) {
-			nodeList = doc.getElementsByTagNameNS(name().namespace(),
-					name().local());
-		} else {
-			nodeList = new SingleItemNodeListImpl(node);
-		}
-
-		if (nodeList.getLength() > 0) {
-			anyType = createElementForXSDType(nodeList);
-		}
-		return anyType;
-	}
-
-	private AnyType createElementForXSDType(NodeList nodeList) {
-		for (int i = 0; i < nodeList.getLength(); i++) {
-			Element element = (Element) nodeList.item(i);
-			if (type() == null || !(element instanceof ItemPSVI)) {
-				anyType = new ElementType(element);
-				break;
-			} else {
-				ElementPSVI elempsvi = (ElementPSVI) element;
-				XSTypeDefinition typedef = elempsvi.getTypeDefinition();
-				if (typedef.derivedFrom(type().namespace(), type().local(),
-						getDerviationTypes())) {
-					anyType = new ElementType(element);
-					break;
-				}
-			}
-		}
-		return anyType;
-	}
-
-	@Override
-	public boolean isWild() {
-		return wild();
-	}
-
-	@Override
-	public Class getXDMClassType() {
-		return ElementType.class;
-	}
-	
-	private static class SingleItemNodeListImpl implements NodeList {
-		private Node node;
-		public SingleItemNodeListImpl(Node node) {
-			this.node = node;
-		}
-
-		public Node item(int index) {
-			return node;
-		}
-
-		public int getLength() {
-			if (node != null) {
-				return 1;
-			} else {
-				return 0;
-			}
-		}
-		
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ExceptExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ExceptExpr.java
deleted file mode 100644
index 7826ada..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ExceptExpr.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * The except operator takes two node sequences as operands and returns a
- * sequence containing all the nodes that occur in the first operand but not in
- * the second operand.
- */
-public class ExceptExpr extends BinExpr {
-
-	/**
-	 * Constructor for ExceptExpr.
-	 * 
-	 * @param l
-	 *            input1 xpath expression/variable.
-	 * @param r
-	 *            input2 xpath expression/variable.
-	 */
-	public ExceptExpr(Expr l, Expr r) {
-		super(l, r);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/Expr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/Expr.java
deleted file mode 100644
index e77ba93..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/Expr.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for normal expressions.
- */
-public abstract class Expr extends XPathNode {
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/FilterExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/FilterExpr.java
deleted file mode 100644
index 9a30cc0..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/FilterExpr.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import java.util.*;
-
-/**
- * A filter expression consists simply of a primary expression followed by zero
- * or more predicates. The result of the filter expression consists of all the
- * items returned by the primary expression for which all the predicates are
- * true. If no predicates are specified, the result is simply the result of the
- * primary expression. This result may contain nodes, atomic values, or any
- * combination of these. The ordering of the items returned by a filter
- * expression is the same as their order in the result of the primary
- * expression. Context positions are assigned to items based on their ordinal
- * position in the result sequence. The first context position is 1.
- */
-public class FilterExpr extends StepExpr {
-	private PrimaryExpr _pexpr;
-	private Collection _exprs;
-
-	/**
-	 * Constructor of FilterExpr.
-	 * 
-	 * @param pexpr
-	 *            is copied to _pexpr.
-	 * @param exprs
-	 *            is copied to _exprs. 
-	 */
-	public FilterExpr(PrimaryExpr pexpr, Collection exprs) {
-		_pexpr = pexpr;
-		_exprs = exprs;
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * Get the primary expression.
-	 * 
-	 * @return The primary expression.
-	 */
-	public PrimaryExpr primary() {
-		return _pexpr;
-	}
-
-	/**
-	 * Get the next predicate.
-	 * 
-	 * @return The next predicate.
-	 */
-	public Iterator iterator() {
-		return _exprs.iterator();
-	}
-
-	/**
-	 * Set a new primary expression.
-	 * 
-	 * @param e
-	 *            is set as the new primary expression.
-	 */
-	public void set_primary(PrimaryExpr e) {
-		_pexpr = e;
-	}
-
-	/**
-	 * Count the number of predicates.
-	 * 
-	 * @return The size of the collection of predicates.
-	 */
-	public int predicate_count() {
-		return _exprs.size();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ForExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ForExpr.java
deleted file mode 100644
index 78865e6..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ForExpr.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import java.util.*;
-
-/**
- * Class for the For expression.
- */
-public class ForExpr extends Expr {
-	private Collection _var_expr_pairs;
-	private Expr _return;
-
-	/**
-	 * Constructor for ForExpr.
-	 * 
-	 * @param varexp
-	 *            Expressions.
-	 * @param ret
-	 *            Return expression.
-	 */
-	public ForExpr(Collection varexp, Expr ret) {
-		_var_expr_pairs = varexp;
-		_return = ret;
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * Support for Iterator interface.
-	 * 
-	 * @return Result of Iterator operation.
-	 */
-	public Iterator iterator() {
-		return _var_expr_pairs.iterator();
-	}
-
-	/**
-	 * Support for Expr interface.
-	 * 
-	 * @return Result of Expr operation.
-	 */
-	public Expr expr() {
-		return _return;
-	}
-
-	/**
-	 * Set Expression.
-	 * 
-	 * @param e
-	 *            Expression.
-	 */
-	public void set_expr(Expr e) {
-		_return = e;
-	}
-
-	// used for normalization... basically just keep a "simple for"... no
-	// pairs... collection will always have 1 element
-	/**
-	 * Normalization of expression pairs.
-	 */
-	public void truncate_pairs() {
-		boolean first = true;
-
-		for (Iterator i = _var_expr_pairs.iterator(); i.hasNext();) {
-			i.next();
-			if (!first)
-				i.remove();
-
-			first = false;
-		}
-	}
-
-	/**
-	 * Support for Collection interface.
-	 * 
-	 * @return Expression pairs.
-	 */
-	public Collection ve_pairs() {
-		return _var_expr_pairs;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ForwardStep.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ForwardStep.java
deleted file mode 100644
index f0a13bc..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ForwardStep.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-
-/**
- * Class for Forward stepping support for Step operations.
- */
-public class ForwardStep extends Step {
-	/**
-	 * Set internal value for NONE.
-	 */
-	public static final int NONE = 0;
-	/**
-	 * Set internal value for CHILD.
-	 */
-	public static final int CHILD = 1;
-	/**
-	 * Set internal value for DESCENDANT.
-	 */
-	public static final int DESCENDANT = 2;
-	/**
-	 * Set internal value for ATTRIBUTE.
-	 */
-	public static final int ATTRIBUTE = 3;
-	/**
-	 * Set internal value for SELF.
-	 */
-	public static final int SELF = 4;
-	/**
-	 * Set internal value for DESCENDANT_OR_SELF.
-	 */
-	public static final int DESCENDANT_OR_SELF = 5;
-	/**
-	 * Set internal value for FOLLOWING_SIBLING.
-	 */
-	public static final int FOLLOWING_SIBLING = 6;
-	/**
-	 * Set internal value for FOLLOWING.
-	 */
-	public static final int FOLLOWING = 7;
-	/**
-	 * Set internal value for NAMESPACE.
-	 */
-	public static final int NAMESPACE = 8;
-	/**
-	 * Set internal value for AT_SYM.
-	 */
-	public static final int AT_SYM = 9;
-
-	private int _axis;
-
-	// XXX: we should get rid of the int axis... and make only this the axis
-	private ForwardAxis _iterator;
-
-	// XXX: needs to be fixed
-	private void update_iterator() {
-		switch (_axis) {
-		case NONE:
-			if (node_test() instanceof AttributeTest)
-				_iterator = new AttributeAxis();
-			else
-				_iterator = new ChildAxis();
-			break;
-
-		case CHILD:
-			_iterator = new ChildAxis();
-			break;
-
-		case DESCENDANT:
-			_iterator = new DescendantAxis();
-			break;
-
-		case FOLLOWING_SIBLING:
-			_iterator = new FollowingSiblingAxis();
-			break;
-
-		case FOLLOWING:
-			_iterator = new FollowingAxis();
-			break;
-
-		case AT_SYM:
-		case ATTRIBUTE:
-			_iterator = new AttributeAxis();
-			break;
-
-		case SELF:
-			_iterator = new SelfAxis();
-			break;
-
-		case DESCENDANT_OR_SELF:
-			_iterator = new DescendantOrSelfAxis();
-			break;
-
-		default:
-			assert false;
-			break;
-		}
-	}
-
-	/**
-	 * Constructor for ForwardStep.
-	 * 
-	 * @param axis
-	 *            Axis number.
-	 * @param node_test
-	 *            Node test.
-	 */
-	public ForwardStep(int axis, NodeTest node_test) {
-		super(node_test);
-
-		_axis = axis;
-
-		update_iterator();
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * Support for Axis interface.
-	 * 
-	 * @return Result of Axis operation.
-	 */
-	public int axis() {
-		return _axis;
-	}
-
-	/**
-	 * Set Axis to current.
-	 * 
-	 * @param axis
-	 *            Axis to set.
-	 */
-	public void set_axis(int axis) {
-		_axis = axis;
-		update_iterator();
-	}
-
-	/**
-	 * Support for Iterator interface.
-	 * 
-	 * @return Result of Iterator operation.
-	 */
-	public ForwardAxis iterator() {
-		return _iterator;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/FunctionCall.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/FunctionCall.java
deleted file mode 100644
index 39b5725..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/FunctionCall.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import java.util.*;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * Class for Function Call support.
- */
-public class FunctionCall extends PrimaryExpr {
-	private QName _name;
-	private Collection _args;
-
-	/**
-	 * Constructor for FunctionCall.
-	 * 
-	 * @param name
-	 *            QName.
-	 * @param args
-	 *            Collection of arguments.
-	 */
-	public FunctionCall(QName name, Collection args) {
-		_name = name;
-		_args = args;
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * Support for QName interface.
-	 * 
-	 * @return Result of QName operation.
-	 */
-	public QName name() {
-		return _name;
-	}
-
-	/**
-	 * Support for Iterator interface.
-	 * 
-	 * @return Result of Iterator operation.
-	 */
-	public Iterator iterator() {
-		return _args.iterator();
-	}
-
-	/**
-	 * Support for Arity interface.
-	 * 
-	 * @return Result of Arity operation.
-	 */
-	public int arity() {
-		return _args.size();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IDivExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IDivExpr.java
deleted file mode 100644
index 830fdaa..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IDivExpr.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Support for Integer division.
- */
-public class IDivExpr extends BinExpr {
-	/**
-	 * Constructor for IDivExpr.
-	 * 
-	 * @param l
-	 *            left value.
-	 * @param r
-	 *            right value.
-	 */
-	public IDivExpr(Expr l, Expr r) {
-		super(l, r);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IfExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IfExpr.java
deleted file mode 100644
index e2f6c79..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IfExpr.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import java.util.*;
-
-/**
- * Support for IF expressions.
- */
-public class IfExpr extends Expr {
-	private Collection _exprs;
-	private Expr _then;
-	private Expr _else;
-
-	/**
-	 * Constructor for IfExpr.
-	 * 
-	 * @param exps
-	 *            Condition expressions.
-	 * @param t
-	 *            If true expressions.
-	 * @param e
-	 *            If false/else expressions.
-	 */
-	public IfExpr(Collection exps, Expr t, Expr e) {
-		_exprs = exps;
-		_then = t;
-		_else = e;
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * Support for Iterator interface.
-	 * 
-	 * @return Result of Iterator operation.
-	 */
-	public Iterator iterator() {
-		return _exprs.iterator();
-	}
-
-	/**
-	 * Support for Expression interface.
-	 * 
-	 * @return Result of Expr operation.
-	 */
-	public Expr then_clause() {
-		return _then;
-	}
-
-	/**
-	 * Support for Expression interface.
-	 * 
-	 * @return Result of Expr operation.
-	 */
-	public Expr else_clause() {
-		return _else;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/InstOfExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/InstOfExpr.java
deleted file mode 100644
index 857caa6..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/InstOfExpr.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * The boolean operator 'instance of' takes the value of its first operand and
- * matches its type to the SequenceType in its second operand, according to the
- * rules for SequenceType matching.
- */
-public class InstOfExpr extends BinExpr {
-	/**
-	 * Constructor for InstOfExpr.
-	 * 
-	 * @param l
-	 *            input xpath expression/variable.
-	 * @param r
-	 *            SequenceType to check l against.
-	 */
-	public InstOfExpr(Expr l, SequenceType r) {
-		super(l, r);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IntegerLiteral.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IntegerLiteral.java
deleted file mode 100644
index 04cc1c9..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IntegerLiteral.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 274805 - improvements to xs:integer data type 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import java.math.BigInteger;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-
-/**
- * The value of a numeric literal containing no "." anad no e or E character is
- * an atomic value of type xs:integer
- * 
- */
-public class IntegerLiteral extends NumericLiteral {
-	private XSInteger _value;
-
-	/**
-	 * Constructor for IntegerLiteral
-	 * 
-	 * @param i
-	 *            integer value
-	 */
-	public IntegerLiteral(BigInteger i) {
-		_value = new XSInteger(i);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * @return xs:integer value
-	 */
-	public XSInteger value() {
-		return _value;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IntersectExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IntersectExpr.java
deleted file mode 100644
index 241ef6c..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IntersectExpr.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * The intersect operator takes two node sequences as operands and returns a
- * sequence containing all the nodes that occur in both operands.
- */
-public class IntersectExpr extends BinExpr {
-
-	/**
-	 * Constructor for IntersectExpr.
-	 * 
-	 * @param l
-	 *            input1 xpath expression/variable.
-	 * @param r
-	 *            input2 xpath expression/variable.
-	 */
-	public IntersectExpr(Expr l, Expr r) {
-		super(l, r);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ItemType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ItemType.java
deleted file mode 100644
index 4c304e0..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ItemType.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * Support for Item node type.
- */
-public class ItemType extends XPathNode {
-	/**
-	 * Set internal value for ITEM.
-	 */
-	public static final int ITEM = 0;
-	/**
-	 * Set internal value for QNAME.
-	 */
-	public static final int QNAME = 1;
-	/**
-	 * Set internal value for KINDTEST.
-	 */
-	public static final int KINDTEST = 2;
-	private int _type;
-
-	private QName _qname;
-	private KindTest _ktest;
-
-	// XXX: polymorphism
-	/**
-	 * Constructor for ItemType.
-	 * 
-	 * @param type
-	 *            Type.
-	 * @param value
-	 *            Object value.
-	 */
-	public ItemType(int type, Object value) {
-		_qname = null;
-		_ktest = null;
-
-		_type = type;
-
-		switch (type) {
-		case QNAME:
-			_qname = (QName) value;
-			break;
-		case KINDTEST:
-			_ktest = (KindTest) value;
-			break;
-		}
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * Support for Type interface.
-	 * 
-	 * @return Result of Type operation.
-	 */
-	public int type() {
-		return _type;
-	}
-
-	/**
-	 * Support for QName interface.
-	 * 
-	 * @return Result of QName operation.
-	 */
-	public QName qname() {
-		return _qname;
-	}
-
-	/**
-	 * Support KindTest interface.
-	 * 
-	 * @return Result of KindTest operation.
-	 */
-	public KindTest kind_test() {
-		return _ktest;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/KindTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/KindTest.java
deleted file mode 100644
index 740c622..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/KindTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     David Carver - bug 298535 - Attribute instance of improvements 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-/**
- * Class for KindTest operation.
- */
-public abstract class KindTest extends NodeTest {
-	
-	abstract public AnyType createTestType(ResultSequence rs);
-	
-	abstract public QName name();
-	
-	abstract public boolean isWild();
-	
-	abstract public Class getXDMClassType();
-	
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/Literal.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/Literal.java
deleted file mode 100644
index 463ab8d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/Literal.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Literal is either a NumericLiteral or a StringLiteral
- * 
- */
-public abstract class Literal extends PrimaryExpr {
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/MinusExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/MinusExpr.java
deleted file mode 100644
index 42c56f2..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/MinusExpr.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for Minus expressions.
- */
-public class MinusExpr extends UnExpr {
-	/**
-	 * Constructor for MinusExpr
-	 * 
-	 * @param arg
-	 *            argument expressions.
-	 */
-	public MinusExpr(Expr arg) {
-		super(arg);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ModExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ModExpr.java
deleted file mode 100644
index 607fdd6..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ModExpr.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for Modular operation.
- */
-public class ModExpr extends BinExpr {
-	/**
-	 * Constructor for ModExpr.
-	 * 
-	 * @param l
-	 *            input1 xpath expression/variable.
-	 * @param r
-	 *            input2 xpath expression/variable.
-	 */
-	public ModExpr(Expr l, Expr r) {
-		super(l, r);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/MulExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/MulExpr.java
deleted file mode 100644
index 91204f2..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/MulExpr.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for Multiply operation.
- */
-public class MulExpr extends BinExpr {
-	/**
-	 * Constructor for MulExpr.
-	 * 
-	 * @param l
-	 *            input1 xpath expression/variable.
-	 * @param r
-	 *            input2 xpath expression/variable.
-	 */
-	public MulExpr(Expr l, Expr r) {
-		super(l, r);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/NameTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/NameTest.java
deleted file mode 100644
index e25ac48..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/NameTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * Class for Name test operation.
- */
-public class NameTest extends NodeTest {
-	private QName _name;
-
-	/**
-	 * Constructor for NameTest.
-	 * 
-	 * @param name
-	 *            QName to test.
-	 */
-	public NameTest(QName name) {
-		_name = name;
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * Support for QName interface.
-	 * 
-	 * @return Resulf of QName operation.
-	 */
-	public QName name() {
-		return _name;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/NodeTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/NodeTest.java
deleted file mode 100644
index c8868a0..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/NodeTest.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for Node test operation.
- */
-public abstract class NodeTest extends XPathNode {
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/NumericLiteral.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/NumericLiteral.java
deleted file mode 100644
index 0e7653b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/NumericLiteral.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * NumericLiteral is a value of typpe xs:integer, xs:decimal or xs:double
- * 
- */
-public abstract class NumericLiteral extends Literal {
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/OrExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/OrExpr.java
deleted file mode 100644
index c3e9c24..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/OrExpr.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for Or operation.
- */
-public class OrExpr extends BinExpr {
-	/**
-	 * Constructor for OrExpr.
-	 * 
-	 * @param l
-	 *            left expression.
-	 * @param r
-	 *            right expression.
-	 */
-	public OrExpr(Expr l, Expr r) {
-		super(l, r);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Resulf of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PITest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PITest.java
deleted file mode 100644
index 66af1f9..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PITest.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     David Carver - bug 298535 - Attribute instance of improvements 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.PIType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-/**
- * Class for Processing Instruction support.
- */
-public class PITest extends KindTest {
-	private String _arg;
-
-	/**
-	 * Constructor for PITest.
-	 * 
-	 * @param arg
-	 *            instruction argument.
-	 */
-	public PITest(String arg) {
-		_arg = arg;
-	}
-
-	/**
-	 * Default Constructor for PITest.
-	 */
-	public PITest() {
-		this(null);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * Support for String arguments.
-	 * 
-	 * @return Result of String operation.
-	 */
-	public String arg() {
-		return _arg;
-	}
-
-	@Override
-	public AnyType createTestType(ResultSequence rs) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	@Override
-	public QName name() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	@Override
-	public boolean isWild() {
-		return false;
-	}
-
-	@Override
-	public Class getXDMClassType() {
-		return PIType.class;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ParExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ParExpr.java
deleted file mode 100644
index c880ac2..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ParExpr.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import java.util.*;
-
-/**
- * Class for parethesized expressions support.
- */
-public class ParExpr extends PrimaryExpr {
-	private Collection _exprs;
-
-	/**
-	 * Constructor for ParExpr.
-	 * 
-	 * @param exprs
-	 *            Expressions.
-	 */
-	public ParExpr(Collection exprs) {
-		_exprs = exprs;
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * Support for Iterator interface.
-	 * 
-	 * @return Result of Iterator operation.
-	 */
-	public Iterator iterator() {
-		return _exprs.iterator();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PipeExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PipeExpr.java
deleted file mode 100644
index 6f6c1ce..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PipeExpr.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for Piped expressions support.
- */
-public class PipeExpr extends BinExpr {
-	/**
-	 * Constructor for PipeExpr.
-	 * 
-	 * @param l
-	 *            Left expression.
-	 * @param r
-	 *            Right expression.
-	 */
-	public PipeExpr(Expr l, Expr r) {
-		super(l, r);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PlusExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PlusExpr.java
deleted file mode 100644
index 9e7eae4..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PlusExpr.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for Plus expression support.
- */
-public class PlusExpr extends UnExpr {
-	/**
-	 * Constructor for PlusExpr.
-	 * 
-	 * @param arg
-	 *            Arguments.
-	 */
-	public PlusExpr(Expr arg) {
-		super(arg);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PrimaryExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PrimaryExpr.java
deleted file mode 100644
index 891bdaf..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PrimaryExpr.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Support for Basic primitive language.
- */
-public abstract class PrimaryExpr extends XPathNode {
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/QuantifiedExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/QuantifiedExpr.java
deleted file mode 100644
index 6a8255f..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/QuantifiedExpr.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import java.util.*;
-
-// mite wanna do two separate classes at the end
-/**
- * Support for Quantified expressions.
- */
-public class QuantifiedExpr extends Expr {
-	/**
-	 * Set internal value for SOME.
-	 */
-	public static final int SOME = 0;
-	/**
-	 * Set internal value for ALL.
-	 */
-	public static final int ALL = 1;
-
-	private Collection _var_expr_pairs;
-	private Expr _return;
-	private int _type;
-
-	/**
-	 * Constructor for QuantifiedExpr.
-	 * 
-	 * @param type
-	 *            Type (0 for SOME, 1 for ALL).
-	 * @param varexp
-	 *            Expressions.
-	 * @param ret
-	 *            Returned expression.
-	 */
-	public QuantifiedExpr(int type, Collection varexp, Expr ret) {
-		_type = type;
-		_var_expr_pairs = varexp;
-		_return = ret;
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * Support for Integer interface.
-	 * 
-	 * @return Result of Int operation.
-	 */
-	public int type() {
-		return _type;
-	}
-
-	/**
-	 * Support for Iterator inteface.
-	 * 
-	 * @return Result of Iterator operation.
-	 */
-	public Iterator iterator() {
-		return _var_expr_pairs.iterator();
-	}
-
-	/**
-	 * Support for Expression interface.
-	 * 
-	 * @return Result of Expr operation.
-	 */
-	public Expr expr() {
-		return _return;
-	}
-
-	/**
-	 * Set next expression.
-	 * 
-	 * @param e
-	 *            Expression.
-	 */
-	public void set_expr(Expr e) {
-		_return = e;
-	}
-
-	// used for normalization... basically just keep a "simple for"... no
-	// pairs... collection will always have 1 element
-	/**
-	 * Normalization of expression pairs.
-	 */
-	public void truncate_pairs() {
-		boolean first = true;
-
-		for (Iterator i = _var_expr_pairs.iterator(); i.hasNext();) {
-			i.next();
-			if (!first)
-				i.remove();
-
-			first = false;
-		}
-	}
-
-	/**
-	 * Support for Collection interface.
-	 * 
-	 * @return Expression pairs.
-	 */
-	public Collection ve_pairs() {
-		return _var_expr_pairs;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/RangeExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/RangeExpr.java
deleted file mode 100644
index 1896bcd..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/RangeExpr.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Support for Range expressions.
- */
-public class RangeExpr extends BinExpr {
-	/**
-	 * Constructor for RangeExpr.
-	 * 
-	 * @param l
-	 *            left expression.
-	 * @param r
-	 *            right expression.
-	 */
-	public RangeExpr(Expr l, Expr r) {
-		super(l, r);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ReverseStep.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ReverseStep.java
deleted file mode 100644
index d3c68e0..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ReverseStep.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-
-/**
- * Class for Reverse stepping support for Step operations.
- */
-public class ReverseStep extends Step {
-	/**
-	 * Set internal value for PARENT.
-	 */
-	public static final int PARENT = 0;
-	/**
-	 * Set internal value for ANCESTOR.
-	 */
-	public static final int ANCESTOR = 1;
-	/**
-	 * Set internal value for PRECEDING_SIBLING.
-	 */
-	public static final int PRECEDING_SIBLING = 2;
-	/**
-	 * Set internal value for PRECEDING.
-	 */
-	public static final int PRECEDING = 3;
-	/**
-	 * Set internal value for ANCESTOR_OR_SELF.
-	 */
-	public static final int ANCESTOR_OR_SELF = 4;
-	/**
-	 * Set internal value for DOTDOT.
-	 */
-	public static final int DOTDOT = 5;
-
-	private int _axis;
-	private ReverseAxis _iterator;
-
-	private void update_iterator() {
-		switch (_axis) {
-		case PARENT:
-			_iterator = new ParentAxis();
-			break;
-		case ANCESTOR:
-			_iterator = new AncestorAxis();
-			break;
-
-		case PRECEDING_SIBLING:
-			_iterator = new PrecedingSiblingAxis();
-			break;
-
-		case PRECEDING:
-			_iterator = new PrecedingAxis();
-			break;
-
-		case ANCESTOR_OR_SELF:
-			_iterator = new AncestorOrSelfAxis();
-			break;
-
-		case DOTDOT:
-			_iterator = null;
-			break;
-
-		default:
-			assert false;
-		}
-	}
-
-	/**
-	 * Constructor for ReverseStep.
-	 * 
-	 * @param axis
-	 *            Axis number.
-	 * @param node_test
-	 *            Node test.
-	 */
-	public ReverseStep(int axis, NodeTest node_test) {
-		super(node_test);
-
-		_axis = axis;
-		update_iterator();
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * Support for Axis interface.
-	 * 
-	 * @return Result of Axis operation.
-	 */
-	public int axis() {
-		return _axis;
-	}
-
-	/**
-	 * Support for Iterator interface.
-	 * 
-	 * @return Result of Iterator operation.
-	 */
-	public ReverseAxis iterator() {
-		return _iterator;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SchemaAttrTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SchemaAttrTest.java
deleted file mode 100644
index 2584777..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SchemaAttrTest.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * Support for Schema Attribute test.
- */
-public class SchemaAttrTest extends KindTest {
-	private QName _arg;
-
-	/**
-	 * Constructor for SchemaAttrTest.
-	 * 
-	 * @param arg
-	 *            QName argument.
-	 */
-	public SchemaAttrTest(QName arg) {
-		_arg = arg;
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * Support for QName interface.
-	 * 
-	 * @return Result of QName operation.
-	 */
-	public QName arg() {
-		return _arg;
-	}
-
-	@Override
-	public AnyType createTestType(ResultSequence rs) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	@Override
-	public QName name() {
-		return _arg;
-	}
-
-	@Override
-	public boolean isWild() {
-		return false;
-	}
-
-	@Override
-	public Class getXDMClassType() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SchemaElemTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SchemaElemTest.java
deleted file mode 100644
index 9b9a9ff..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SchemaElemTest.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * Support for Schema Element Test.
- */
-public class SchemaElemTest extends KindTest {
-	private QName _arg;
-
-	/**
-	 * Constructor for SchemaElemTest.
-	 * 
-	 * @param arg
-	 *            QName argument.
-	 */
-	public SchemaElemTest(QName arg) {
-		_arg = arg;
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * Support for QName interface.
-	 * 
-	 * @return Result of QName operation.
-	 */
-	public QName name() {
-		return _arg;
-	}
-
-	@Override
-	public AnyType createTestType(ResultSequence rs) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	@Override
-	public boolean isWild() {
-		return false;
-	}
-
-	@Override
-	public Class getXDMClassType() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SequenceType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SequenceType.java
deleted file mode 100644
index a7df090..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SequenceType.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Support for Sequence type.
- */
-public class SequenceType extends XPathNode {
-	/**
-	 * Set internal value for EMPTY.
-	 */
-	public static final int EMPTY = 0;
-	/**
-	 * Set internal value for NONE.
-	 */
-	public static final int NONE = 1;
-	/**
-	 * Set internal value for QUESTION.
-	 */
-	public static final int QUESTION = 2;
-	/**
-	 * Set internal value for STAR.
-	 */
-	public static final int STAR = 3;
-	/**
-	 * Set internal value for PLUS.
-	 */
-	public static final int PLUS = 4;
-
-	private int _occ;
-	private ItemType _it;
-
-	/**
-	 * Constructor for SequenceType.
-	 * 
-	 * @param occ
-	 *            Occurence.
-	 * @param it
-	 *            Item type.
-	 */
-	public SequenceType(int occ, ItemType it) {
-		_occ = occ;
-		_it = it;
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * Get occurence of item.
-	 * 
-	 * @return Result from Int operation.
-	 */
-	public int occurrence() {
-		return _occ;
-	}
-
-	/**
-	 * Support for ItemType interface.
-	 * 
-	 * @return Result of ItemType operation.
-	 */
-	public ItemType item_type() {
-		return _it;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SingleType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SingleType.java
deleted file mode 100644
index d61d5c1..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SingleType.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * Support for Single types.
- */
-public class SingleType extends XPathNode {
-
-	private QName _type;
-	private boolean _qmark;
-
-	/**
-	 * Constructor for SingleType.
-	 * 
-	 * @param type
-	 *            QName type.
-	 * @param qmark
-	 *            optional type? (true/false).
-	 */
-	public SingleType(QName type, boolean qmark) {
-		_type = type;
-		_qmark = qmark;
-	}
-
-	/**
-	 * Default Constructor for SingleType.
-	 */
-	public SingleType(QName type) {
-		this(type, false);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * Set optional type.
-	 * 
-	 * @return optional type value.
-	 */
-	public boolean qmark() {
-		return _qmark;
-	}
-
-	/**
-	 * Support for QName interface.
-	 * 
-	 * @return Result of QName operation.
-	 */
-	public QName type() {
-		return _type;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/Step.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/Step.java
deleted file mode 100644
index 5c163fb..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/Step.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Support for Step operations.
- */
-public abstract class Step extends XPathNode {
-
-	private NodeTest _node_test;
-
-	/**
-	 * Constructor for Step.
-	 * 
-	 * @param node_test
-	 *            Nodes for operation.
-	 */
-	public Step(NodeTest node_test) {
-		_node_test = node_test;
-	}
-
-	/**
-	 * Support for NodeTest interface.
-	 * 
-	 * @return Result of NodeTest operation.
-	 */
-	public NodeTest node_test() {
-		return _node_test;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/StepExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/StepExpr.java
deleted file mode 100644
index 06db05a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/StepExpr.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Support for Step expressions.
- */
-public abstract class StepExpr extends Expr {
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/StringLiteral.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/StringLiteral.java
deleted file mode 100644
index 706373b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/StringLiteral.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * The value of a string literal is an atomic value whose type is xs:string and
- * whose value is the string denoted by the characters between the delimiting
- * apostrophes or quotation marks. If the literal is delimited by apostrophes,
- * two adjacent apostrophes within the literal are interpreted as a single
- * apostrophe. Similarly, if the literal is delimited by quotation marks, two
- * adjacent quotation marks within the literal are interpreted as one quotation
- * mark
- * 
- */
-public class StringLiteral extends Literal {
-	private XSString _value;
-
-	/**
-	 * Constructor for StringLiteral
-	 * 
-	 * @param value
-	 *            string value
-	 */
-	public StringLiteral(String value) {
-		_value = new XSString(value);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * @return string value
-	 */
-	public String string() {
-		return _value.value();
-	}
-
-	/**
-	 * @return xs:string value
-	 */
-	public XSString value() {
-		return _value;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SubExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SubExpr.java
deleted file mode 100644
index 4d5a549..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SubExpr.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Support for Subtraction operation.
- */
-public class SubExpr extends BinExpr {
-	/**
-	 * Constructor for SubExpr.
-	 * 
-	 * @param l
-	 *            left input.
-	 * @param r
-	 *            right input.
-	 */
-	public SubExpr(Expr l, Expr r) {
-		super(l, r);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/TextTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/TextTest.java
deleted file mode 100644
index 7ae1f86..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/TextTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     David Carver - bug 298535 - Attribute instance of improvements 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.TextType;
-
-/**
- * Class to match any text node.
- */
-public class TextTest extends KindTest {
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	@Override
-	public AnyType createTestType(ResultSequence rs) {
-		return null;
-	}
-
-	@Override
-	public QName name() {
-		return null;
-	}
-
-	@Override
-	public boolean isWild() {
-		return false;
-	}
-
-	@Override
-	public Class getXDMClassType() {
-		return TextType.class;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/TreatAsExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/TreatAsExpr.java
deleted file mode 100644
index d5083bd..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/TreatAsExpr.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Support for Treat operation. This does not change the value of the operand,
- * rather it ensues the operand has a correct type at evaluation time.
- */
-public class TreatAsExpr extends BinExpr {
-	/**
-	 * Constructor for TreatAsExpr.
-	 * 
-	 * @param l
-	 *            xpath expression/variable.
-	 * @param r
-	 *            SequenceType to treat as.
-	 */
-	public TreatAsExpr(Expr l, SequenceType r) {
-		super(l, r);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/UnExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/UnExpr.java
deleted file mode 100644
index 773d883..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/UnExpr.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Support for Unary expressions.
- */
-public abstract class UnExpr extends Expr {
-	private Expr _arg;
-
-	/**
-	 * Constructor for UnExpr.
-	 * 
-	 * @param arg
-	 *            expression.
-	 */
-	public UnExpr(Expr arg) {
-		_arg = arg;
-	}
-
-	/**
-	 * Support for Expression interface.
-	 * 
-	 * @return Result of Expr operation.
-	 */
-	public Expr arg() {
-		return _arg;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/UnionExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/UnionExpr.java
deleted file mode 100644
index 01dc893..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/UnionExpr.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * The union class takes two node sequences as operands and return a sequence
- * containing all the nodes that occur in either of the operands.
- */
-public class UnionExpr extends BinExpr {
-
-	/**
-	 * Constructor for UnionExpr.
-	 * 
-	 * @param l
-	 *            input1 xpath expression/variable.
-	 * @param r
-	 *            unput2 xpath expression/variable.
-	 */
-	public UnionExpr(Expr l, Expr r) {
-		super(l, r);
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/VarExprPair.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/VarExprPair.java
deleted file mode 100644
index 65eb330..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/VarExprPair.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * Class for Variable Expression Pairs.
- */
-public class VarExprPair {
-	private QName _var;
-	private Expr _expr;
-
-	/**
-	 * Constructor for VarExprPair.
-	 * 
-	 * @param var
-	 *            QName variable.
-	 * @param expr
-	 *            Expression.
-	 */
-	public VarExprPair(QName var, Expr expr) {
-		_var = var;
-		_expr = expr;
-	}
-
-	/**
-	 * Support for QName interface.
-	 * 
-	 * @return Result of QName operation.
-	 */
-	public QName varname() {
-		return _var;
-	}
-
-	/**
-	 * Support for Expression interface.
-	 * 
-	 * @return Result of Expr operation.
-	 */
-	public Expr expr() {
-		return _expr;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/VarRef.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/VarRef.java
deleted file mode 100644
index 14d22da..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/VarRef.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * Support for Variable Reference. A QName preceded by a $-sign is a variable
- * reference.
- */
-public class VarRef extends PrimaryExpr {
-	private QName _varname;
-
-	/**
-	 * Constructor for VarRef.
-	 * 
-	 * @param name
-	 *            QName.
-	 */
-	public VarRef(QName name) {
-		_varname = name;
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * Support for QName interface.
-	 * 
-	 * @return Result of QName operation.
-	 */
-	public QName name() {
-		return _varname;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/XPathExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/XPathExpr.java
deleted file mode 100644
index c229d04..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/XPathExpr.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Path expression walks tries to walk the path specified in its argument
- */
-public class XPathExpr extends Expr {
-	private int _slashes;
-	private StepExpr _expr;
-
-	// single linked list
-	private XPathExpr _next;
-
-	/**
-	 * @param slashes
-	 *            is copied to _slashes
-	 * @param expr
-	 *            is copied to _expr _next is made null as a result.
-	 */
-	public XPathExpr(int slashes, StepExpr expr) {
-		_slashes = slashes;
-		_expr = expr;
-		_next = null;
-	}
-
-	/**
-	 * Support for Visitor interface.
-	 * 
-	 * @return Result of Visitor operation.
-	 */
-	@Override
-	public Object accept(XPathVisitor v) {
-		return v.visit(this);
-	}
-
-	/**
-	 * Add to tail of path
-	 */
-	// XXX: keep ref to last
-	public void add_tail(int slashes, StepExpr expr) {
-		XPathExpr last = this;
-		XPathExpr next = _next;
-
-		while (next != null) {
-			last = next;
-			next = last.next();
-		}
-
-		XPathExpr item = new XPathExpr(slashes, expr);
-		last.set_next(item);
-
-	}
-
-	/**
-	 * @param count
-	 *            is copied to _slashes
-	 */
-	public void set_slashes(int count) {
-		_slashes = count;
-	}
-
-	/**
-	 * @return XPath expression _next
-	 */
-	public XPathExpr next() {
-		return _next;
-	}
-
-	/**
-	 * an XPath expression, n is copied to _next
-	 */
-	public void set_next(XPathExpr n) {
-		_next = n;
-	}
-
-	/**
-	 * @return Step expression _expr
-	 */
-	public StepExpr expr() {
-		return _expr;
-	}
-
-	/**
-	 * @return int _slashes
-	 */
-	public int slashes() {
-		return _slashes;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/XPathNode.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/XPathNode.java
deleted file mode 100644
index 1631afc..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/XPathNode.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for a XPathNode object.
- */
-public abstract class XPathNode {
-	/**
-	 * Support for Visitor interface.
-	 */
-	public abstract Object accept(XPathVisitor v);
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/XPathVisitor.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/XPathVisitor.java
deleted file mode 100644
index 2f13c62..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/XPathVisitor.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.ast.XPath;
-
-/**
- * Visitor class for XPath expressions.
- */
-public interface XPathVisitor {
-	/**
-	 * Visit XPath.
-	 */
-	public Object visit(XPath xp);
-
-	/**
-	 * Visit ForExpr.
-	 */
-	public Object visit(ForExpr fex);
-
-	/**
-	 * Visit QuantifiedExpr.
-	 */
-	public Object visit(QuantifiedExpr qex);
-
-	/**
-	 * Visit IfExpr.
-	 */
-	public Object visit(IfExpr ifex);
-
-	/**
-	 * Visit OrExpr.
-	 */
-	public Object visit(OrExpr orex);
-
-	/**
-	 * Visit AndExpr.
-	 */
-	public Object visit(AndExpr andex);
-
-	/**
-	 * Visit CmpExpr.
-	 */
-	public Object visit(CmpExpr cmpex);
-
-	/**
-	 * Visit RangeExpr.
-	 */
-	public Object visit(RangeExpr rex);
-
-	/**
-	 * Visit AddExpr.
-	 */
-	public Object visit(AddExpr addex);
-
-	/**
-	 * Visit SubExpr.
-	 */
-	public Object visit(SubExpr subex);
-
-	/**
-	 * Visit MulExpr.
-	 */
-	public Object visit(MulExpr mulex);
-
-	/**
-	 * Visit DivExpr.
-	 */
-	public Object visit(DivExpr mulex);
-
-	/**
-	 * Visit IDivExpr.
-	 */
-	public Object visit(IDivExpr mulex);
-
-	/**
-	 * Visit ModExpr.
-	 */
-	public Object visit(ModExpr mulex);
-
-	/**
-	 * Visit UnionExpr.
-	 */
-	public Object visit(UnionExpr unex);
-
-	/**
-	 * Visit PipeExpr.
-	 */
-	public Object visit(PipeExpr pipex);
-
-	/**
-	 * Visit IntersectExpr.
-	 */
-	public Object visit(IntersectExpr iexpr);
-
-	/**
-	 * Visit ExceptExpr.
-	 */
-	public Object visit(ExceptExpr eexpr);
-
-	/**
-	 * Visit InstOfExpr.
-	 */
-	public Object visit(InstOfExpr ioexp);
-
-	/**
-	 * Visit TreatAsExpr.
-	 */
-	public Object visit(TreatAsExpr taexp);
-
-	/**
-	 * Visit CastableExpr.
-	 */
-	public Object visit(CastableExpr cexp);
-
-	/**
-	 * Visit CastExpr.
-	 */
-	public Object visit(CastExpr cexp);
-
-	/**
-	 * Visit MinusExpr.
-	 */
-	public Object visit(MinusExpr e);
-
-	/**
-	 * Visit PlusExpr.
-	 */
-	public Object visit(PlusExpr e);
-
-	/**
-	 * Visit XPathExpr.
-	 */
-	public Object visit(XPathExpr e);
-
-	/**
-	 * Visit ForwardStep.
-	 */
-	public Object visit(ForwardStep e);
-
-	/**
-	 * Visit ReverseStep.
-	 */
-	public Object visit(ReverseStep e);
-
-	/**
-	 * Visit NameTest.
-	 */
-	public Object visit(NameTest e);
-
-	/**
-	 * Visit VarRef.
-	 */
-	public Object visit(VarRef e);
-
-	/**
-	 * Visit StringLiteral.
-	 */
-	public Object visit(StringLiteral e);
-
-	/**
-	 * Visit IntegerLiteral.
-	 */
-	public Object visit(IntegerLiteral e);
-
-	/**
-	 * Visit DoubleLiteral.
-	 */
-	public Object visit(DoubleLiteral e);
-
-	/**
-	 * Visit DecimalLiteral.
-	 */
-	public Object visit(DecimalLiteral e);
-
-	/**
-	 * Visit ParExpr.
-	 */
-	public Object visit(ParExpr e);
-
-	/**
-	 * Visit CntxItemExpr.
-	 */
-	public Object visit(CntxItemExpr e);
-
-	/**
-	 * Visit FunctionCall.
-	 */
-	public Object visit(FunctionCall e);
-
-	/**
-	 * Visit SingleType.
-	 */
-	public Object visit(SingleType e);
-
-	/**
-	 * Visit SequenceType.
-	 */
-	public Object visit(SequenceType e);
-
-	/**
-	 * Visit ItemType.
-	 */
-	public Object visit(ItemType e);
-
-	/**
-	 * Visit AnyKindTest.
-	 */
-	public Object visit(AnyKindTest e);
-
-	/**
-	 * Visit DocumentTest.
-	 */
-	public Object visit(DocumentTest e);
-
-	/**
-	 * Visit TextTest.
-	 */
-	public Object visit(TextTest e);
-
-	/**
-	 * Visit CommentTest.
-	 */
-	public Object visit(CommentTest e);
-
-	/**
-	 * Visit PITest.
-	 */
-	public Object visit(PITest e);
-
-	/**
-	 * Visit AttributeTest.
-	 */
-	public Object visit(AttributeTest e);
-
-	/**
-	 * Visit SchemaAttrTest.
-	 */
-	public Object visit(SchemaAttrTest e);
-
-	/**
-	 * Visit ElementTest.
-	 */
-	public Object visit(ElementTest e);
-
-	/**
-	 * Visit SchemElemTest.
-	 */
-	public Object visit(SchemaElemTest e);
-
-	/**
-	 * Visit AxisStep.
-	 */
-	public Object visit(AxisStep e);
-
-	/**
-	 * Visit FilterExpr.
-	 */
-	public Object visit(FilterExpr e);
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/AbstractCollationEqualFunction.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/AbstractCollationEqualFunction.java
deleted file mode 100644
index 6d06bf8..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/AbstractCollationEqualFunction.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver (STAR) - initial API and implementation
- *     David Carver (STAR) - bug 296882 - fixed function that would always return false.
- *******************************************************************************/
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import java.math.BigInteger;
-import java.util.Iterator;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSUntypedAtomic;
-
-public abstract class AbstractCollationEqualFunction extends Function {
-
-	public AbstractCollationEqualFunction(QName name, int arity) {
-		super(name, arity);
-		// TODO Auto-generated constructor stub
-	}
-
-	public AbstractCollationEqualFunction(QName name, int min_arity,
-			int max_arity) {
-		super(name, min_arity, max_arity);
-	}
-
-
-	protected static boolean hasValue(AnyType itema, AnyType itemb, DynamicContext context, String collationURI) throws DynamicError {
-		XSString itemStr = new XSString(itema.string_value());
-		if (isBoolean(itema, itemb)) {
-			XSBoolean boolat = (XSBoolean) itema;
-			if (boolat.eq(itemb, context)) {
-				return true;
-			}
-		}
-
-		if (isNumeric(itema, itemb)) {
-			NumericType numericat = (NumericType) itema;
-			if (numericat.eq(itemb, context)) {
-				return true;
-			}
-		}
-
-		if (isDuration(itema, itemb)) {
-			XSDuration durat = (XSDuration) itema;
-			if (durat.eq(itemb, context)) {
-				return true;
-			}
-		}
-
-		if (needsStringComparison(itema, itemb)) {
-			XSString xstr1 = new XSString(itema.string_value());
-			if (FnCompare.compare_string(collationURI, xstr1, itemStr,
-					context).equals(BigInteger.ZERO)) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	protected static boolean hasValue(ResultSequence rs, AnyAtomicType item,
-			DynamicContext context, String collationURI) throws DynamicError {
-		XSString itemStr = new XSString(item.string_value());
-
-		for (Iterator i = rs.iterator(); i.hasNext();) {
-			AnyType at = (AnyType) i.next();
-
-			if (!(at instanceof CmpEq))
-				continue;
-
-			if (isBoolean(item, at)) {
-				XSBoolean boolat = (XSBoolean) at;
-				if (boolat.eq(item, context)) {
-					return true;
-				}
-			}
-
-			if (isNumeric(item, at)) {
-				NumericType numericat = (NumericType) at;
-				if (numericat.eq(item, context)) {
-					return true;
-				}
-			}
-
-			if (isDuration(item, at)) {
-				XSDuration durat = (XSDuration) at;
-				if (durat.eq(item, context)) {
-					return true;
-				}
-			}
-
-			if (needsStringComparison(item, at)) {
-				XSString xstr1 = new XSString(at.string_value());
-				if (FnCompare.compare_string(collationURI, xstr1, itemStr,
-						context).equals(BigInteger.ZERO)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	protected static boolean isDuration(AnyAtomicType item, AnyType at) {
-		return at instanceof XSDuration && item instanceof XSDuration;
-	}
-
-	protected static boolean isBoolean(AnyAtomicType item, AnyType at) {
-		return at instanceof XSBoolean && item instanceof XSBoolean;
-	}
-
-	protected static boolean isNumeric(AnyAtomicType item, AnyType at) {
-		return at instanceof NumericType && item instanceof NumericType;
-	}
-
-	protected static boolean needsStringComparison(AnyAtomicType item,
-			AnyType at) {
-		AnyType anyItem = (AnyType) item;
-		return needsStringComparison(anyItem, at);
-	}
-
-	protected static boolean isDuration(AnyType item, AnyType at) {
-		return at instanceof XSDuration && item instanceof XSDuration;
-	}
-	
-	protected static boolean isDate(AnyType item, AnyType at) {
-		return at instanceof XSDateTime && item instanceof XSDateTime;
-	}
-	
-
-	protected static boolean isBoolean(AnyType cmptype, AnyType at) {
-		return at instanceof XSBoolean && cmptype instanceof XSBoolean;
-	}
-
-	protected static boolean isNumeric(AnyType item, AnyType at) {
-		return at instanceof NumericType && item instanceof NumericType;
-	}
-
-	protected static boolean needsStringComparison(AnyType item, AnyType at) {
-		if (item instanceof NumericType) {
-			if (at instanceof XSFloat) {
-				XSFloat f = (XSFloat) at;
-				if (f.nan()) {
-					return true;
-				}
-			}
-			
-			if (at instanceof XSDouble) {
-				XSDouble d = (XSDouble) at;
-				if (d.nan()) {
-					return true;
-				}
-			}
-		}
-
-		if (at instanceof XSString) {
-			return true;
-		}
-		
-		if (at instanceof XSUntypedAtomic) {
-			return true;
-		}
-		return false;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/AbstractRegExFunction.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/AbstractRegExFunction.java
deleted file mode 100644
index 4fb3bb3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/AbstractRegExFunction.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver - bug 262765 - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-public abstract class AbstractRegExFunction extends Function {
-	protected static final String validflags = "smix";
-
-	public AbstractRegExFunction(QName name, int arity) {
-		super(name, arity);
-	}
-	
-	public AbstractRegExFunction(QName name, int min_arity, int max_arity) {
-		super(name, min_arity, max_arity);
-	}
-	
-	protected static boolean matches(String pattern, String flags, String src) {
-		boolean fnd = false;
-		if (pattern.contains("-[")) {
-			pattern = pattern.replace("-[", "&&[^");
-		}
-		Matcher m = compileAndExecute(pattern, flags, src);
-		while (m.find()) {
-			fnd = true;
-		}
-		return fnd;
-	}
-	
-	protected static Matcher regex(String pattern, String flags, String src) {
-		Matcher matcher = compileAndExecute(pattern, flags, src);
-		return matcher;
-	}
-	
-	private static Matcher compileAndExecute(String pattern, String flags, String src) {
-		int flag = Pattern.UNIX_LINES;
-		if (flags != null) {
-			if (flags.indexOf("m") >= 0) {
-				flag = flag | Pattern.MULTILINE;
-			}
-			if (flags.indexOf("s") >= 0) {
-				flag = flag | Pattern.DOTALL;
-			}
-			if (flags.indexOf("i") >= 0) {
-				flag = flag | Pattern.CASE_INSENSITIVE;
-			}
-			
-			if (flags.indexOf("x") >= 0) {
-				flag = flag | Pattern.COMMENTS;
-			}
-		}
-		
-		Pattern p = Pattern.compile(pattern, flag);
-		return p.matcher(src);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/AbstractURIFunction.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/AbstractURIFunction.java
deleted file mode 100644
index ac6990e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/AbstractURIFunction.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver - STAR - bug 262765 - renamed to correct function name. 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *     Jesper Steen Moeller - bug 285319 - fix UTF-8 escaping
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import java.nio.ByteBuffer;
-import java.nio.charset.Charset;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-public abstract class AbstractURIFunction extends Function {
-
-	private static final Charset UTF_8 = Charset.forName("UTF-8");
-	
-	static Collection _expected_args = null;
-
-	protected static boolean needs_escape(byte x, boolean escape_delimiters, boolean escape_space) {
-		
-		// These are identified as "unreserved" by [RFC 3986]: 
-		if ('A' <= x && x <= 'Z')
-			return false;
-		if ('a' <= x && x <= 'z')
-			return false;
-		if ('0' <= x && x <= '9')
-			return false;
-		
-		switch (x) {
-		// These are identified as "unreserved" by [RFC 3986]: 
-		case '-':
-		case '_':
-		case '.':
-		case '~':
-			return false;
-	
-		// These are URI/IRI delimiters 	
-		case '(':
-		case ')':
-		case '\'':
-		case '*':
-		case '!':
-		case '#':
-		case '%':
-		case ';':
-		case '/':
-		case '?':
-		case ':':
-		case '@':
-		case '&':
-		case '=':
-		case '+':
-		case '$':
-		case ',':
-		case '[':
-		case ']':
-			return escape_delimiters;
-
-		case ' ':
-			return escape_space;
-
-			// The rest should always be escaped: < > " space | ^ - and all the UTF-8 bytes
-		default:
-			return true;
-		}
-	}
-
-	/**
-	 * Apply the URI escaping rules to the arguments.
-	 * 
-	 * @param args
-	 *            have the URI escaping rules applied to them.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The result of applying the URI escaping rules to the arguments.
-	 */
-	public static ResultSequence escape_uri(Collection args, boolean escape) throws DynamicError {
-		return escape_uri(args, escape, true);
-	}
-
-	/**
-	 * Apply the URI escaping rules to the arguments.
-	 * 
-	 * @param args
-	 *            have the URI escaping rules applied to them.
-	 * @param escape_space TODO
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The result of applying the URI escaping rules to the arguments.
-	 */
-	public static ResultSequence escape_uri(Collection args, boolean escape_delimiters, boolean escape_space) throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-	
-		Iterator argi = cargs.iterator();
-		ResultSequence arg1 = (ResultSequence) argi.next();
-	
-		ResultSequence rs = ResultSequenceFactory.create_new();
-	
-		if (arg1.empty()) {
-			rs.add(new XSString(""));
-			return rs;
-		}
-				
-		AnyType aat = arg1.first();
-		String str = aat.string_value();
-
-		ByteBuffer buffer = UTF_8.encode(str);
-		StringBuffer sb = new StringBuffer();
-	
-		for (int i = 0; i < buffer.limit(); i++) {
-			byte x = buffer.get(i);
-	
-			if (needs_escape(x, escape_delimiters, escape_space)) {
-				sb.append("%");
-				sb.append(Integer.toHexString(x & 0xFF).toUpperCase());
-			} else
-				sb.append((char)x);
-		}
-	
-		rs.add(new XSString(sb.toString()));
-	
-		return rs;
-	}
-
-	/**
-	 * Calculate the expected arguments.
-	 * 
-	 * @return The expected arguments.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_QMARK));
-		}
-	
-		return _expected_args;
-	}
-
-	public AbstractURIFunction(QName name, int arity) {
-		super(name, arity);
-	}
-
-	public AbstractURIFunction(QName name, int min_arity, int max_arity) {
-		super(name, min_arity, max_arity);
-	}
-
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/CmpEq.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/CmpEq.java
deleted file mode 100644
index 5ac02ea..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/CmpEq.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Moller - bug 280555 - Add pluggable collation support
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * Class for compare for equal function.
- */
-public interface CmpEq {
-	/**
-	 * Constructor for CmpEq.
-	 * 
-	 * @param arg
-	 *            argument of any type.
-	 * @param context TODO
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of operation, true/false.
-	 */
-	public boolean eq(AnyType arg, DynamicContext context) throws DynamicError;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/CmpGt.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/CmpGt.java
deleted file mode 100644
index 2bf0782..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/CmpGt.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Moller - bug 280555 - Add pluggable collation support
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * Class for compare for greater than operation.
- */
-public interface CmpGt {
-	/**
-	 * Constructor for CmpGt
-	 * 
-	 * @param arg
-	 *            argument of any type.
-	 * @param context TODO
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of operation, true/false.
-	 */
-	public boolean gt(AnyType arg, DynamicContext context) throws DynamicError;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/CmpLt.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/CmpLt.java
deleted file mode 100644
index b0c2c8e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/CmpLt.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Moller - bug 280555 - Add pluggable collation support
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-/**
- * Class for compare for less than operation.
- */
-public interface CmpLt {
-	/**
-	 * Constructor for CmpLt.
-	 * 
-	 * @param arg
-	 *            argument of any type.
-	 * @param context TODO
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of operation, true/false.
-	 */
-	public boolean lt(AnyType arg, DynamicContext context) throws DynamicError;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/Constructor.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/Constructor.java
deleted file mode 100644
index 8e2fff6..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/Constructor.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug274784 - improvements to xs:boolean data type implementation
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import java.util.Collection;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-/**
- * Constructor class for functions.
- */
-public class Constructor extends Function {
-	private CtrType _atomic_type;
-
-	/**
-	 * Constructor for Constructor class.
-	 * 
-	 * @param aat
-	 *            input of any atomic type.
-	 */
-	public Constructor(CtrType aat) {
-		super(new QName(aat.type_name()), 1);
-
-		_atomic_type = aat;
-	}
-
-	// XXX IN GENRAL, I THIUNK WE NEED TO PULL SANITY CHECKING OUTSIDE!
-	// PLUS I AM NOT ATOMIZING/ETC ETC HERE!!! BAD CODE
-	// BUG XXX HACK DEATH
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		// sanity checks
-		ResultSequence arg = (ResultSequence) args.iterator().next();
-
-		if (arg.size() > 1)
-			DynamicError.throw_type_error();
-
-		// do it
-		return _atomic_type.constructor(arg);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/ConstructorFL.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/ConstructorFL.java
deleted file mode 100644
index 1ba2497..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/ConstructorFL.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Constructor class for the functions library.
- */
-public class ConstructorFL extends FunctionLibrary {
-
-	private Hashtable _types;
-
-	/**
-	 * Constructor for ConstructorFL.
-	 * 
-	 * @param ns
-	 *            input string.
-	 */
-	public ConstructorFL(String ns) {
-		super(ns);
-
-		_types = new Hashtable();
-	}
-
-	/**
-	 * Adds a type into the functions library.
-	 * 
-	 * @param at
-	 *            input of any atomic type.
-	 */
-	public void add_type(CtrType at) {
-		QName name = new QName(at.type_name());
-		name.set_namespace(namespace());
-
-		_types.put(name, at);
-
-		add_function(new Constructor(at));
-	}
-
-	/**
-	 * Adds a type into the functions library as an abstract type.
-	 * 
-	 * @param at
-	 *            input of any atomic type.
-	 */
-	public void add_abstract_type(String localName, AnyAtomicType at) {
-		QName name = new QName(localName);
-		name.set_namespace(namespace());
-
-		_types.put(name, at);
-	}
-	
-	/**
-	 * Support for QName interface.
-	 * 
-	 * @param name
-	 *            variable name.
-	 * @return type of input variable.
-	 */
-	public AnyAtomicType atomic_type(QName name) {
-		return (AnyAtomicType) _types.get(name);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAbs.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAbs.java
deleted file mode 100644
index dd41148..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAbs.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the absolute value of $arg. If $arg is negative returns -$arg
- * otherwise returns $arg. If type of $arg is one of the four numeric types
- * xs:float, xs:double, xs:decimal or xs:integer the type of the return is the
- * same as the type of $arg. If the type of $arg is a type derived from one of
- * the numeric types, the type of the return is the base numeric type. For
- * xs:float and xs:double arguments, if the argument is positive zero (+0) or
- * negative zero (-0), then positive zero (+0) is returned. If the argument is
- * positive or negative infinity, positive infinity is returned.
- */
-public class FnAbs extends Function {
-	/**
-	 * Constructor for FnAbs.
-	 */
-	public FnAbs() {
-		super(new QName("abs"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		// 1 argument only!
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		ResultSequence argument = (ResultSequence) args.iterator().next();
-
-		return fn_abs(argument);
-	}
-
-	/**
-	 * Absolute value operation.
-	 * 
-	 * @param arg
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:abs operation.
-	 */
-	public static ResultSequence fn_abs(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// sanity chex
-		NumericType nt = get_single_numeric_arg(arg);
-
-		// empty arg
-		if (nt == null)
-			return rs;
-		
-		if (nt instanceof XSDouble) {
-			XSDouble dat = (XSDouble) nt;
-			if (dat.zero() || dat.negativeZero()) {
-				rs.add(new XSDouble("0"));
-				return rs;
-			}
-			if (dat.infinite()) {
-				rs.add(new XSDouble(Double.POSITIVE_INFINITY));
-				return rs;
-			}
-		}
-
-		if (nt instanceof XSFloat) {
-			XSFloat dat = (XSFloat) nt;
-			if (dat.zero() || dat.negativeZero()) {
-				rs.add(new XSFloat(Float.valueOf(0)));
-				return rs;
-			}
-			if (dat.infinite()) {
-				rs.add(new XSFloat(Float.POSITIVE_INFINITY));
-				return rs;
-			}
-		}
-
-
-		rs.add(nt.abs());
-		return rs;
-	}
-
-	/**
-	 * Obtain numeric value from expression.
-	 * 
-	 * @param arg
-	 *            input expression.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Resulting numeric type from the operation.
-	 */
-	public static NumericType get_single_numeric_arg(ResultSequence arg)
-			throws DynamicError {
-		int size = arg.size();
-		if (size > 1)
-			DynamicError.throw_type_error();
-
-		if (size == 0)
-			return null;
-
-		AnyType at = arg.first();
-
-		if (!(at instanceof NumericType))
-			throw DynamicError.invalidType();
-				
-		return (NumericType) at;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAdjustDateTimeToTimeZone.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAdjustDateTimeToTimeZone.java
deleted file mode 100644
index 7e8c0cd..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAdjustDateTimeToTimeZone.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver - bug 280547 - initial API and implementation. 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-import javax.xml.datatype.DatatypeConfigurationException;
-import javax.xml.datatype.DatatypeFactory;
-import javax.xml.datatype.Duration;
-import javax.xml.datatype.XMLGregorianCalendar;
-
-/**
- * Adjusts an xs:dateTime value to a specific timezone, or to no timezone at
- * all. If <code>$timezone</code> is the empty sequence, returns an
- * <code>xs:dateTime</code> without timezone. Otherwise, returns an
- * <code>xs:dateTime</code> with a timezone.
- */
-public class FnAdjustDateTimeToTimeZone extends Function {
-	private static Collection _expected_args = null;
-	private static final XSDayTimeDuration minDuration = new XSDayTimeDuration(
-			0, 14, 0, 0, true);
-	private static final XSDayTimeDuration maxDuration = new XSDayTimeDuration(
-			0, 14, 0, 0, false);
-
-	/**
-	 * Constructor for FnDateTime.
-	 */
-	public FnAdjustDateTimeToTimeZone() {
-		super(new QName("adjust-dateTime-to-timezone"), 1, 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return adjustdateTime(args, dynamic_context());
-	}
-
-	/**
-	 * Evaluate the function using the arguments passed.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @param sc
-	 *            Result of static context operation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the fn:dateTime operation.
-	 */
-	public static ResultSequence adjustdateTime(Collection args,
-			DynamicContext dc) throws DynamicError {
-
-		Collection cargs = Function.convert_arguments(args, expectedArgs());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get args
-		Iterator argiter = cargs.iterator();
-		ResultSequence arg1 = (ResultSequence) argiter.next();
-		if (arg1.empty()) {
-			return rs;
-		}
-		ResultSequence arg2 = null;
-		if (argiter.hasNext()) {
-			arg2 = (ResultSequence) argiter.next();
-		}
-		XSDateTime dateTime = (XSDateTime) arg1.first();
-		XSDayTimeDuration timezone = null;
-		
-		if (arg2 != null && arg2.empty()) {
-			if (dateTime.timezoned()) {
-				CalendarType localized = new XSDateTime(dateTime.calendar(), null);
-				rs.add(localized);
-				return rs;
-			} else {
-				return arg1;
-			}
-		} else if (arg2 == null) {
-			CalendarType localized = new XSDateTime(dateTime.normalizeCalendar(dateTime.calendar(), dateTime.tz()), null);
-			rs.add(localized);
-			return rs;
-		}
-
-		timezone = (XSDayTimeDuration) arg2.first();
-		if (timezone.lt(minDuration, dc) || timezone.gt(maxDuration, dc)) {
-			throw DynamicError.invalidTimezone();
-		}
-		
-		if (dateTime.tz() == null) {
-			rs.add(new XSDateTime(dateTime.calendar(), timezone));
-			return rs;
-		}
-		
-		try {			
-			XMLGregorianCalendar xmlCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendar((GregorianCalendar)dateTime.normalizeCalendar(dateTime.calendar(), dateTime.tz()));
-			
-			Duration duration = DatatypeFactory.newInstance().newDuration(timezone.string_value());
-			xmlCalendar.add(duration);
-
-			rs.add(new XSDateTime(xmlCalendar.toGregorianCalendar(), timezone));
-			
-		} catch (DatatypeConfigurationException e) {
-			throw DynamicError.invalidTimezone();
-		}
-		
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expectedArgs() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args
-					.add(new SeqType(new XSDateTime(), SeqType.OCC_QMARK));
-			_expected_args.add(new SeqType(new XSDayTimeDuration(),
-					SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAdjustDateToTimeZone.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAdjustDateToTimeZone.java
deleted file mode 100644
index 4fc4ef4..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAdjustDateToTimeZone.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver - bug 280547 - initial API and implementation. 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-import javax.xml.datatype.DatatypeConfigurationException;
-import javax.xml.datatype.DatatypeFactory;
-import javax.xml.datatype.Duration;
-import javax.xml.datatype.XMLGregorianCalendar;
-
-/**
- * Adjusts an xs:date value to a specific timezone, or to no timezone at
- * all. If <code>$timezone</code> is the empty sequence, returns an
- * <code>xs:date</code> without timezone. Otherwise, returns an
- * <code>xs:date</code> with a timezone.
- */
-public class FnAdjustDateToTimeZone extends Function {
-	private static Collection _expected_args = null;
-	private static final XSDayTimeDuration minDuration = new XSDayTimeDuration(
-			0, 14, 0, 0, true);
-	private static final XSDayTimeDuration maxDuration = new XSDayTimeDuration(
-			0, 14, 0, 0, false);
-
-	/**
-	 * Constructor for FnDateTime.
-	 */
-	public FnAdjustDateToTimeZone() {
-		super(new QName("adjust-date-to-timezone"), 1, 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return adjustDate(args, dynamic_context());
-	}
-
-	/**
-	 * Evaluate the function using the arguments passed.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @param sc
-	 *            Result of static context operation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the fn:dateTime operation.
-	 */
-	public static ResultSequence adjustDate(Collection args,
-			DynamicContext dc) throws DynamicError {
-
-		Collection cargs = Function.convert_arguments(args, expectedArgs());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get args
-		Iterator argiter = cargs.iterator();
-		ResultSequence arg1 = (ResultSequence) argiter.next();
-		if (arg1.empty()) {
-			return rs;
-		}
-		ResultSequence arg2 = ResultSequenceFactory.create_new();
-		if (argiter.hasNext()) {
-			arg2 = (ResultSequence) argiter.next();
-		}
-		XSDate date = (XSDate) arg1.first();
-		XSDayTimeDuration timezone = null;
-
-		if (arg2.empty()) {
-			if (date.timezoned()) {
-				XSDate localized = new XSDate(date.calendar(), null);
-				rs.add(localized);
-				return rs;
-			} else {
-				return arg1;
-			}
-		}
-		
-		timezone = (XSDayTimeDuration) arg2.first();
-		if (timezone.lt(minDuration, dc) || timezone.gt(maxDuration, dc)) {
-			throw DynamicError.invalidTimezone();
-		}
-		
-		if (date.tz() == null) {
-			rs.add(new XSDate(date.calendar(), timezone));
-			return rs;
-		}
-		
-		try {
-			XMLGregorianCalendar xmlCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendar((GregorianCalendar)date.normalizeCalendar(date.calendar(), date.tz()));
-			
-			Duration duration = DatatypeFactory.newInstance().newDuration(timezone.string_value());
-			xmlCalendar.add(duration);
-			
-			rs.add(new XSDate(xmlCalendar.toGregorianCalendar(), timezone));
-		} catch (DatatypeConfigurationException ex) {
-			throw DynamicError.invalidTimezone();
-		}
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expectedArgs() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args
-					.add(new SeqType(new XSDate(), SeqType.OCC_QMARK));
-			_expected_args.add(new SeqType(new XSDayTimeDuration(),
-					SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAdjustTimeToTimeZone.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAdjustTimeToTimeZone.java
deleted file mode 100644
index 2ddadcd..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAdjustTimeToTimeZone.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver - bug 280547 - initial API and implementation. 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-import javax.xml.datatype.DatatypeConfigurationException;
-import javax.xml.datatype.DatatypeFactory;
-import javax.xml.datatype.Duration;
-import javax.xml.datatype.XMLGregorianCalendar;
-
-/**
- * Adjusts an xs:dateTime value to a specific timezone, or to no timezone at
- * all. If <code>$timezone</code> is the empty sequence, returns an
- * <code>xs:dateTime</code> without timezone. Otherwise, returns an
- * <code>xs:dateTime</code> with a timezone.
- */
-public class FnAdjustTimeToTimeZone extends Function {
-	private static Collection _expected_args = null;
-	private static final XSDayTimeDuration minDuration = new XSDayTimeDuration(
-			0, 14, 0, 0, true);
-	private static final XSDayTimeDuration maxDuration = new XSDayTimeDuration(
-			0, 14, 0, 0, false);
-
-	/**
-	 * Constructor for FnDateTime.
-	 */
-	public FnAdjustTimeToTimeZone() {
-		super(new QName("adjust-time-to-timezone"), 1, 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return adjustTime(args, dynamic_context());
-	}
-
-	/**
-	 * Evaluate the function using the arguments passed.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @param sc
-	 *            Result of static context operation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the fn:dateTime operation.
-	 */
-	public static ResultSequence adjustTime(Collection args,
-			DynamicContext dc) throws DynamicError {
-
-		Collection cargs = Function.convert_arguments(args, expectedArgs());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get args
-		Iterator argiter = cargs.iterator();
-		ResultSequence arg1 = (ResultSequence) argiter.next();
-		if (arg1.empty()) {
-			return rs;
-		}
-		ResultSequence arg2 = ResultSequenceFactory.create_new();
-		if (argiter.hasNext()) {
-			arg2 = (ResultSequence) argiter.next();
-		}
-		XSTime time = (XSTime) arg1.first();
-		XSDayTimeDuration timezone = null;
-		
-		if (arg2.empty()) {
-			if (time.timezoned()) {
-				XSTime localized = new XSTime(time.calendar(), null);
-				rs.add(localized);
-				return rs;
-			} else {
-				return arg1;
-			}
-		}
-
-
-		XMLGregorianCalendar xmlCalendar = null;
-		
-		try {
-			if (time.tz() != null) {
-				xmlCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendar((GregorianCalendar)time.normalizeCalendar(time.calendar(), time.tz()));
-			} else {
-				xmlCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendarTime(time.hour(), time.minute(), (int)time.second(), 0);
-			}
-	
-			timezone = (XSDayTimeDuration) arg2.first();
-			if (timezone.lt(minDuration, dc) || timezone.gt(maxDuration, dc)) {
-				throw DynamicError.invalidTimezone();
-			}
-			
-			if (time.tz() == null) {
-				rs.add(new XSTime(time.calendar(), timezone));
-				return rs;
-			}
-			
-			Duration duration = DatatypeFactory.newInstance().newDuration(timezone.string_value());
-			xmlCalendar.add(duration);
-	
-			rs.add(new XSTime(xmlCalendar.toGregorianCalendar(), timezone));
-		} catch (DatatypeConfigurationException ex) {
-			throw DynamicError.invalidTimezone();
-		}
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expectedArgs() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args
-					.add(new SeqType(new XSTime(), SeqType.OCC_QMARK));
-			_expected_args.add(new SeqType(new XSDayTimeDuration(),
-					SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAvg.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAvg.java
deleted file mode 100644
index c91942d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAvg.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 273760 - wrong namespace for functions and data types 
- *     David Carver - bug 262765 - fix issue with casting items to XSDouble cast
- *                                 needed to cast to Numeric so that evaluations
- *                                 and formatting occur correctly.
- *                               - fix fn:avg casting issues and divide by zero issues.
- *     Jesper Moller - bug 281028 - fix promotion rules for fn:avg
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import java.math.BigInteger;
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDayTimeDuration;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSUntypedAtomic;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSYearMonthDuration;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.ScalarTypePromoter;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.TypePromoter;
-
-/**
- * Returns the average of the values in the input sequence $arg, that is, the
- * sum of the values divided by the number of values.
- */
-public class FnAvg extends Function {
-	/**
-	 * Constructor for FnAvg.
-	 */
-	public FnAvg() {
-		super(new QName("avg"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return avg(args);
-	}
-
-	/**
-	 * Average value operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:avg operation.
-	 */
-	public static ResultSequence avg(Collection args) throws DynamicError {
-
-		ResultSequence arg = (ResultSequence)args.iterator().next();
-
-		if (arg.empty())
-			return ResultSequenceFactory.create_new();
-
-		int elems = 0;
-
-		MathPlus total = null;
-
-		TypePromoter tp = new ScalarTypePromoter();
-		tp.considerSequence(arg);
-
-		for (Iterator i = arg.iterator(); i.hasNext();) {
-			++elems;
-			AnyAtomicType conv = tp.promote((AnyType) i.next());
-			
-			if (conv instanceof XSDouble && ((XSDouble)conv).nan() || conv instanceof XSFloat && ((XSFloat)conv).nan()) {
-				return ResultSequenceFactory.create_new(tp.promote(new XSFloat(Float.NaN)));
-			}
-			if (total == null) {
-				total = (MathPlus)conv; 
-			} else {
-				total = (MathPlus)total.plus(ResultSequenceFactory.create_new(conv)).first();
-			}
-		}
-
-		if (!(total instanceof MathDiv))
-			DynamicError.throw_type_error();
-
-		return ((MathDiv)total).div(ResultSequenceFactory.create_new(new XSInteger(BigInteger.valueOf(elems))));
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnBaseUri.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnBaseUri.java
deleted file mode 100644
index 8d90451..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnBaseUri.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Mukul Gandhi - bug274725 - implementation of base-uri function
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-import org.w3c.dom.Node;
-
-import java.util.*;
-
-/**
- * Returns the value of the base-uri property for $arg as defined by the
- * accessor function dm:base-uri() for that kind of node in Section 5.1 base-uri
- * Accessor of the specification. If $arg is the empty sequence, the empty
- * sequence is returned. Document, element and processing-instruction nodes have
- * a base-uri property which may be empty. The base-uri property of all other
- * node types is the empty sequence. The value of the base-uri property is
- * returned if it exists and is not empty. Otherwise, if the node has a parent,
- * the value of dm:base-uri() applied to its parent is returned, recursively. If
- * the node does not have a parent, or if the recursive ascent up the ancestor
- * chain encounters a node whose base-uri property is empty and it does not have
- * a parent, the empty sequence is returned.
- */
-public class FnBaseUri extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnBaseUri.
-	 */
-	public FnBaseUri() {
-		super(new QName("base-uri"), 0, 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return base_uri(args, dynamic_context());
-	}
-
-	/**
-	 * Base-Uri operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @param d_context
-	 * 			  Dynamic context
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:base-uri operation.
-	 */
-	public static ResultSequence base_uri(Collection args, DynamicContext d_context) 
-	                       throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-		
-		ResultSequence rs = null;
-		
-		if (cargs.size() == 0) {
-		  // support for arity 0
-		  // get base-uri from the context item.
-		  AnyType contextItem = d_context.context_item();
-		  if (contextItem != null) {
-			rs = getBaseUri(contextItem);
-		  }
-		  else {
-		    throw DynamicError.contextUndefined();
-		  }
-		}
-		else if (cargs.size() == 1) {
-	      // support for arity 1
-		  ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-		  AnyType att = arg1.first();
-
-		  rs = getBaseUri(att);
-		}
-		else {
-		  // arity other than 0 or 1 is not allowed
-		  throw DynamicError.throw_type_error();	
-		}
-
-		return rs;
-	}
-
-	/*
-	 * Helper function for base-uri support
-	 */
-	public static ResultSequence getBaseUri(AnyType att) {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-		XSAnyURI baseUri = null;
-		  // depending on the node type, we get the base-uri for the node.
-		  // if base-uri property in DOM is null, we set the base-uri as string "null". This
-		  // avoids null pointer exception while comparing xs:anyURI values.
-		
-		  if (att instanceof NodeType) {
-			  NodeType node = (NodeType) att;
-			  Node domNode = node.node_value();
-			  String buri = domNode.getBaseURI();
-			  if (buri != null) {
-				  baseUri = new XSAnyURI(buri);
-			  } else {
-				  baseUri = new XSAnyURI("null");
-			  }
-		  }
-		  	        
-	      if (baseUri != null) {
-	        rs.add(baseUri);	
-	      }
-	      
-	      return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnBoolean.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnBoolean.java
deleted file mode 100644
index 50b3e7a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnBoolean.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *     Jesper Steen Moller  - bug 262765 - use correct 'effective boolean value'
- *     David Carver (STAR) - bug 262765 - fix checking of data types.
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Computes the effective boolean value of the sequence $arg. If $arg is the
- * empty sequence, returns false. If $arg contains a single atomic value, then
- * the function returns false if $arg is: - The singleton xs:boolean value
- * false. - The singleton value "" (zero-length string) of type xs:string or
- * xdt:untypedAtomic. - A singleton numeric value that is numerically equal to
- * zero. - The singleton xs:float or xs:double value NaN. In all other cases,
- * returns true.
- */
-public class FnBoolean extends Function {
-	/**
-	 * Constructor for FnBoolean.
-	 */
-	public FnBoolean() {
-		super(new QName("boolean"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		// 1 argument only!
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		ResultSequence argument = (ResultSequence) args.iterator().next();
-
-		return ResultSequenceFactory.create_new(fn_boolean(argument));
-	}
-
-	private static final XSBoolean TRUE = new XSBoolean(true);
-	
-	private static final XSBoolean FALSE = new XSBoolean(false);
-	
-	/**
-	 * Boolean operation.
-	 * 
-	 * @param arg
-	 *            Result from the expressions evaluation.
-	 * @return Result of fn:boolean operation.
-	 * @throws DynamicError 
-	 */
-	public static XSBoolean fn_boolean(ResultSequence arg) throws DynamicError {
-		if (arg.empty())
-			return FALSE;
-
-		AnyType at = arg.first();
-		
-		if (at instanceof CalendarType) {
-			throw DynamicError.throw_type_error();
-		}
-
-		
-		if (at instanceof NodeType)
-			return TRUE;
-		
-		if (arg.size() > 1)
-			throw DynamicError.throw_type_error();
-
-		// XXX ??
-		if (!(at instanceof AnyAtomicType))
-			return TRUE;
-
-		// ok we got 1 single atomic type element
-
-		if (at instanceof XSBoolean) {
-			if (!((XSBoolean) at).value())
-				return FALSE;
-		}
-
-		if ((at instanceof XSString) || (at instanceof XSUntypedAtomic)) {
-			if (at.string_value().equals(""))
-				return FALSE;
-		}
-
-		if (at instanceof NumericType) {
-			if (((NumericType) at).zero())
-				return FALSE;
-		}
-
-		if ((at instanceof XSFloat) && (((XSFloat) at).nan()))
-			return FALSE;
-
-		if ((at instanceof XSDouble) && (((XSDouble) at).nan()))
-			return FALSE;
-		
-
-		return TRUE;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCeiling.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCeiling.java
deleted file mode 100644
index 869e85d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCeiling.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the smallest (closest to negative infinity) number with no fractional
- * part that is not less than the value of $arg. If type of $arg is one of the
- * four numeric types xs:float, xs:double, xs:decimal or xs:integer the type of
- * the return is the same as the type of $arg. If the type of $arg is a type
- * derived from one of the numeric types, the type of the return is the base
- * numeric type. For xs:float and xs:double arguments, if the argument is
- * positive zero (+0), then positive zero (+0) is returned. If the argument is
- * negative zero (-0), then negative zero (-0) is returned. If the argument is
- * less than zero (0), negative zero (-0) is returned.
- */
-public class FnCeiling extends Function {
-	/**
-	 * Constructor for FnCeiling.
-	 */
-	public FnCeiling() {
-		super(new QName("ceiling"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		// 1 argument only!
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		ResultSequence argument = (ResultSequence) args.iterator().next();
-
-		return fn_ceiling(argument);
-	}
-
-	/**
-	 * Ceiling value operation.
-	 * 
-	 * @param arg
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:ceiling operation.
-	 */
-	public static ResultSequence fn_ceiling(ResultSequence arg)
-			throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// sanity chex
-		NumericType nt = FnAbs.get_single_numeric_arg(arg);
-
-		// empty arg
-		if (nt == null)
-			return rs;
-
-		rs.add(nt.ceiling());
-		return rs;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCodepointEqual.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCodepointEqual.java
deleted file mode 100644
index 86fbc3e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCodepointEqual.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Jesper Steen Moller, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Jesper Steen Moller - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-/**
- * 
- * <p>
- * String comparison function.
- * </p>
- * 
- * <p>
- * Usage: fn:codepoint-equal($comparand1 as xs:string?,
- *                           $comparand2 as xs:string?) as xs:boolean?
- * </p>
- * 
- * <p>
- * Returns true or false depending on whether the value of $comparand1 is equal
- * to the value of $comparand2, according to the Unicode code point collation
- * (http://www.w3.org/2005/xpath-functions/collation/codepoint).
- * </p>
- * 
- * <p>
- * If either argument is the empty sequence, the result is the empty sequence.
- * </p>
- * 
- */
-public class FnCodepointEqual extends Function {
-	
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor of FnCodepointEqual.
-	 */
-	public FnCodepointEqual() {
-		super(new QName("codepoint-equal"), 2);
-	}
-
-	/**
-	 * Evaluate the arguments.
-	 * 
-	 * @param args
-	 *            is evaluated.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The evaluation of the comparison of the arguments.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return codepoint_equals(args, dynamic_context());
-	}
-
-	/**
-	 * Compare the arguments as codepoints
-	 * 
-	 * @param args
-	 *            are compared.
-	 * @param dynamicContext
-	 *            The current dynamic context
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The result of the comparison of the arguments.
-	 */
-	public static ResultSequence codepoint_equals(Collection args, DynamicContext dynamicContext) throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		Iterator argiter = cargs.iterator();
-		ResultSequence arg1 = (ResultSequence) argiter.next();
-		XSString xstr1 = arg1.empty() ? null : (XSString) arg1.first();
-
-		ResultSequence arg2 = (ResultSequence) argiter.next();
-		XSString xstr2 = arg2.empty() ? null : (XSString) arg2.first();
-
-		// This delegates to FnCompare
-		BigInteger result = FnCompare.compare_string(DynamicContext.CODEPOINT_COLLATION, xstr1, xstr2, dynamicContext);
-		if (result != null) rs.add(new XSBoolean(BigInteger.ZERO.equals(result)));
-		
-		return rs;
-	}
-
-	/**
-	 * Calculate the expected arguments.
-	 * 
-	 * @return The expected arguments.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
-			_expected_args.add(arg);
-			_expected_args.add(arg);
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCodepointsToString.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCodepointsToString.java
deleted file mode 100644
index f9c4951..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCodepointsToString.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - improvements to the function implementation
- *     David Carver - bug 282096 - improvements for surrogate handling 
- *     Jesper Steen Moeller - bug 282096 - clean up string storage
- *     Jesper Steen Moeller - bug 280553 - further checks of legal Unicode codepoints.
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Creates an xs:string from a sequence of code points. Returns the zero-length
- * string if $arg is the empty sequence. If any of the code points in $arg is
- * not a legal XML character, an error is raised [err:FOCH0001].
- */
-public class FnCodepointsToString extends Function {
-	private static Collection _expected_args = null;
-	
-    /**
-     * The maximum value of a Unicode code point.
-     */
-    public static final int MIN_LEGAL_CODEPOINT = 0x1;
-
-
-    /**
-     * The maximum value of a Unicode code point.
-     */
-    public static final int MAX_LEGAL_CODEPOINT = 0x10ffff;
-
-	/**
-	 * Constructor for FnCodepointsToString.
-	 */
-	public FnCodepointsToString() {
-		super(new QName("codepoints-to-string"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return codepoints_to_string(args);
-	}
-
-	/**
-	 * Codepoints to string operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:codepoints-to-string operation.
-	 */
-	public static ResultSequence codepoints_to_string(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-		if (arg1.empty()) {
-			rs.add(new XSString(""));
-			return rs;
-		}
-
-		int[] codePointArray = new int[arg1.size()];
-		int codePointIndex = 0;
-		for (Iterator i = arg1.iterator(); i.hasNext();) {
-			XSInteger code = (XSInteger) i.next();
-			
-			int codepoint = code.int_value().intValue();
-			if (codepoint < MIN_LEGAL_CODEPOINT || codepoint > MAX_LEGAL_CODEPOINT) {
-				throw DynamicError.unsupported_codepoint("U+" + Integer.toString(codepoint, 16).toUpperCase());
-			}
-
-			codePointArray[codePointIndex] = codepoint;			
-			codePointIndex++;
-		}
-
-		// "new String(int[] codePoints, int offset, int count)" is a facility
-		// introduced in Java 1.5
-		try {
-			String str = new String(codePointArray, 0, codePointArray.length);
-			rs.add(new XSString(str));
-		} catch (IllegalArgumentException iae) {
-			// This should be duoble checked above, but rather safe than sorry
-			throw DynamicError.unsupported_codepoint(iae.getMessage());
-		}
-		
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSInteger(), SeqType.OCC_STAR));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCollection.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCollection.java
deleted file mode 100644
index 6bdf807..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCollection.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moller - bug 281159 - fix document loading and resolving URIs 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.StaticContext;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-import org.w3c.dom.Document;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-
-/**
- * Summary: This function takes an xs:string as argument and returns a sequence
- * of nodes obtained by interpreting $arg as an xs:anyURI and resolving it
- * according to the mapping specified in Available collections described in
- * Section C.2 Dynamic Context Components. If Available collections provides a
- * mapping from this string to a sequence of nodes, the function returns that
- * sequence. If Available collections maps the string to an empty sequence, 
- * then the function returns an empty sequence. If Available collections
- * provides no mapping for the string, an error is raised [err:FODC0004]. If
- * $arg is not specified, the function returns the sequence of the nodes in the
- * default collection in the dynamic context. See Section C.2 Dynamic Context
- * ComponentsXP. If the value of the default collection is undefined an error
- * is raised [err:FODC0002].
- *
- * If the $arg is a relative xs:anyURI, it is resolved against the value of the
- * base-URI property from the static context. If $arg is not a valid xs:anyURI,
- * an error is raised [err:FODC0004].
- *
- * If $arg is the empty sequence, the function behaves as if it had been called
- * without an argument. See above.
- *
- * By default, this function is ·stable·. This means that repeated calls on the
- * function with the same argument will return the same result. However, for
- * performance reasons, implementations may provide a user option to evaluate
- * the function without a guarantee of stability. The manner in which any such
- * option is provided is ·implementation-defined·. If the user has not selected
- * such an option, a call to this function must either return a stable result or
- * must raise an error: [err:FODC0003].
- */
-public class FnCollection extends Function {
-	private static Collection _expected_args = null;
-	
-	public static final String DEFAULT_COLLECTION_URI = "http://www.w3.org/2005/xpath-functions/collection/default";
-
-	/**
-	 * Constructor for FnDoc.
-	 */
-	public FnCollection() {
-		super(new QName("collection"), 0, 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return collection(args, dynamic_context());
-	}
-
-	/**
-	 * Doc operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @param dc
-	 *            Result of dynamic context operation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:doc operation.
-	 */
-	public static ResultSequence collection(Collection args, DynamicContext dc)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		// get args
-		Iterator argiter = cargs.iterator();
-		ResultSequence arg1 = null;
-		ResultSequence rs = ResultSequenceFactory.create_new();
-		if (argiter.hasNext()) {
-			arg1 = (ResultSequence) argiter.next();
-		} else {
-			return getCollection(DEFAULT_COLLECTION_URI, dc);
-		}
-			
-
-		if (arg1.empty())
-			return ResultSequenceFactory.create_new();
-
-		String uri = ((XSString) arg1.first()).value();
-		
-		
-		try {
-			new URI(uri);
-		} catch (URISyntaxException ex) {
-			throw DynamicError.doc_not_found(null);
-		}
-		
-		if (uri.indexOf(":") < 0) {
-			throw DynamicError.invalidCollectionArgument();
-		}
-		
-
-		URI resolved = dc.resolve_uri(uri);
-		if (resolved == null)
-			throw DynamicError.invalid_doc(null);
-
-		rs = getCollection(uri, dc);
-		if (rs.empty())
-			throw DynamicError.doc_not_found(null);
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
-			_expected_args.add(arg);
-		}
-
-		return _expected_args;
-	}
-	
-	private static ResultSequence getCollection(String uri, DynamicContext dc) {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-		Map<String, List<Document>> collectionMap = dc.get_collections();
-		List<Document> docList = collectionMap.get(uri);
-		for (int i = 0; i < docList.size(); i++) {
-			Document doc = docList.get(i);
-			rs.add(new DocType(doc));
-		}
-		return rs;
-		
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCompare.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCompare.java
deleted file mode 100644
index 441279b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCompare.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *     Jesper Steen Moeller - bug 280555 - Add pluggable collation support
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * 
- * <p>
- * String comparison function.
- * </p>
- * 
- * <p>
- * Usage: fn:compare($comparand1 as xs:string?, $comparand2 as xs:string?) as
- * xs:integer?
- * </p>
- * 
- * <p>
- * This class returns -1, 0, or 1, depending on whether the value of $comparand1
- * is respectively less than, equal to, or greater than the value of
- * $comparand2.
- * </p>
- * 
- * <p>
- * If the value of $comparand2 begins with a string that is equal to the value
- * of $comparand1 (according to the collation that is used) and has additional
- * code points following that beginning string, then the result is -1. If the
- * value of $comparand1 begins with a string that is equal to the value of
- * $comparand2 and has additional code points following that beginning string,
- * then the result is 1.
- * </p>
- * 
- * <p>
- * If either argument is the empty sequence, the result is the empty sequence.
- * </p>
- */
-public class FnCompare extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor of FnCompare.
-	 */
-	public FnCompare() {
-		super(new QName("compare"), 2, 3);
-	}
-
-	/**
-	 * Evaluate the arguments.
-	 * 
-	 * @param args
-	 *            is evaluated.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The evaluation of the comparison of the arguments.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return compare(args, dynamic_context());
-	}
-
-	/**
-	 * Compare the arguments.
-	 * 
-	 * @param args
-	 *            are compared (optional 3rd argument is the collation)
-	 * @param dynamicContext
-	 * 	       Current dynamic context 
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The result of the comparison of the arguments.
-	 */
-	public static ResultSequence compare(Collection args, DynamicContext dynamicContext) throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		Iterator argiter = cargs.iterator();
-		ResultSequence arg1 = (ResultSequence) argiter.next();
-		ResultSequence arg2 = (ResultSequence) argiter.next();
-
-		String collationUri = dynamicContext.default_collation_name();
-		if (argiter.hasNext()) {
-			ResultSequence collArg = (ResultSequence) argiter.next();
-			collationUri = collArg.first().string_value();
-		}
-
-		XSString xstr1 = arg1.empty() ? null : (XSString) arg1.first();
-		XSString xstr2 = arg2.empty() ? null : (XSString) arg2.first();
-
-		BigInteger result = compare_string(collationUri, xstr1, xstr2, dynamicContext);
-		if (result != null) {
-			return ResultSequenceFactory.create_new(new XSInteger(result));
-		} else {
-			return ResultSequenceFactory.create_new();			
-		}
-	}
-
-	public static BigInteger compare_string(String collationUri, XSString xstr1,
-			XSString xstr2, DynamicContext dynamicContext) throws DynamicError {
-		Comparator collator = dynamicContext.get_collation(collationUri);
-		if (collator == null) throw DynamicError.unsupported_collation(collationUri);
-
-		if (xstr1 == null || xstr2 == null) return null;
-		
-		int ret = collator.compare(xstr1.value(), xstr2.value());
-
-		if (ret == 0)
-			return BigInteger.ZERO;
-		else if (ret < 0)
-			return BigInteger.valueOf(-1);
-		else
-			return BigInteger.ONE;
-	}
-
-	/**
-	 * Calculate the expected arguments.
-	 * 
-	 * @return The expected arguments.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
-			_expected_args.add(arg);
-			_expected_args.add(arg);
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnConcat.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnConcat.java
deleted file mode 100644
index 2b53fb6..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnConcat.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * <p>
- * Sequence concatenation function.
- * </p>
- * 
- * <p>
- * Usage: fn:concat($arg1 as xdt:anyAtomicType?, $arg2 as xdt:anyAtomicType?,
- * ... ) as xs:string
- * </p>
- * 
- * <p>
- * This class accepts two or more xdt:anyAtomicType arguments and converts them
- * to xs:string. It then returns the xs:string that is the concatenation of the
- * values of its arguments after conversion. If any of the arguments is the
- * empty sequence, the argument is treated as the zero-length string.
- * </p>
- * 
- * <p>
- * The concat() function is specified to allow an arbitrary number of arguments
- * that are concatenated together.
- * </p>
- */
-public class FnConcat extends Function {
-
-	/**
-	 * Constructor for FnConcat.
-	 */
-	public FnConcat() {
-		super(new QName("concat"), 2, Integer.MAX_VALUE);
-	}
-
-	/**
-	 * Evaluate the arguments.
-	 * 
-	 * @param args
-	 *            is evaluated.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The evaluation of the concatenation of the arguments.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return concat(args);
-	}
-
-	/**
-	 * Concatenate the arguments.
-	 * 
-	 * @param args
-	 *            are concatenated.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The result of the concatenation of the arguments.
-	 */
-	public static ResultSequence concat(Collection args) throws DynamicError {
-
-		// sanity check
-		if (args.size() < 2)
-			DynamicError.throw_type_error();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		String result = "";
-
-		// go through args
-		StringBuffer buf = new StringBuffer();
-		for (Iterator argi = args.iterator(); argi.hasNext();) {
-			ResultSequence arg = (ResultSequence) argi.next();
-
-			int size = arg.size();
-
-			// sanity check
-			if (size > 1)
-				DynamicError.throw_type_error();
-
-			if (size == 0) {
-				continue;
-			}
-
-			AnyType at = arg.first();
-			
-			buf.append(at.string_value());
-
-		}
-		result = buf.toString();
-		
-		rs.add(new XSString(result));
-
-		return rs;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnContains.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnContains.java
deleted file mode 100644
index f72a969..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnContains.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver - STAR - bug 262765 - check for empty string in second arg before first. 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns an xs:boolean indicating whether or not the value of $arg1 contains
- * (at the beginning, at the end, or anywhere within) at least one sequence of
- * collation units that provides a minimal match to the collation units in the
- * value of $arg2, according to the collation that is used.
- */
-public class FnContains extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnContains.
-	 */
-	public FnContains() {
-		super(new QName("contains"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return contains(args);
-	}
-
-	/**
-	 * Contains operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:contains operation.
-	 */
-	public static ResultSequence contains(Collection args) throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get args
-		Iterator argiter = cargs.iterator();
-		ResultSequence arg1 = (ResultSequence) argiter.next();
-		String str1 = "";
-		String str2 = "";
-		if (!arg1.empty())
-			str1 = ((XSString) arg1.first()).value();
-
-		ResultSequence arg2 = (ResultSequence) argiter.next();
-		if (!arg2.empty())
-			str2 = ((XSString) arg2.first()).value();
-
-		int str1len = str1.length();
-		int str2len = str2.length();
-
-		if (str2len == 0) {
-			rs.add(new XSBoolean(true));
-			return rs;
-		}
-		
-		if (str1len == 0) {
-			rs.add(new XSBoolean(false));
-			return rs;
-		}
-
-		if (str1.indexOf(str2) == -1)
-			rs.add(new XSBoolean(false));
-		else
-			rs.add(new XSBoolean(true));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
-			_expected_args.add(arg);
-			_expected_args.add(arg);
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCount.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCount.java
deleted file mode 100644
index 9a28baa..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCount.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * Returns the number of items in the value of $arg. Returns 0 if $arg is the
- * empty sequence.
- */
-public class FnCount extends Function {
-	/**
-	 * Constructor for FnCount.
-	 */
-	public FnCount() {
-		super(new QName("count"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return count(args);
-	}
-
-	/**
-	 * Count operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:count operation.
-	 */
-	public static ResultSequence count(Collection args) throws DynamicError {
-
-		assert args.size() == 1;
-
-		// get args
-		Iterator citer = args.iterator();
-		ResultSequence arg = (ResultSequence) citer.next();
-
-		return ResultSequenceFactory.create_new(new XSInteger(BigInteger.valueOf(arg.size())));
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCurrentDate.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCurrentDate.java
deleted file mode 100644
index 2502531..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCurrentDate.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper S Moller - bug 286452 - always return the stable date/time from dynamic context
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns xs:date(fn:current-dateTime()). This is a xs:date (with timezone)
- * that is current at some time during the evaluation of a query or
- * transformation in which fn:current-date() is executed. This function is
- * stable. The precise i instant during the query or transformation represented
- * by the value of fn:current-date() is implementation dependent.
- */
-public class FnCurrentDate extends Function {
-	/**
-	 * Constructor for FnCurrentDate.
-	 */
-	public FnCurrentDate() {
-		super(new QName("current-date"), 0);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return current_date(args, dynamic_context());
-	}
-
-	/**
-	 * Current-Date operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @param dc
-	 *            Result of dynamic context operation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:current-date operation.
-	 */
-	public static ResultSequence current_date(Collection args, DynamicContext dc)
-			throws DynamicError {
-		assert args.size() == 0;
-
-		AnyType res = new XSDate(dc.current_date_time(), dc.tz());
-
-		return ResultSequenceFactory.create_new(res);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCurrentDateTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCurrentDateTime.java
deleted file mode 100644
index 26f94f6..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCurrentDateTime.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper S Moller - bug 286452 - always return the stable date/time from dynamic context
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the xs:dateTime (with timezone) from the dynamic context. (See
- * Section C.2 Dynamic Context ComponentsXP.) This is a xs:dateTime that is
- * current at some time during the evaluation of a query or transformation in
- * which fn:current-dateTime() is executed. This function is stable. The precise
- * instant during the query or transformation represented by the value of
- * fn:current-dateTime() is implementation dependent.
- */
-public class FnCurrentDateTime extends Function {
-	/**
-	 * Constructor for FnCurrentDateTime.
-	 */
-	public FnCurrentDateTime() {
-		super(new QName("current-dateTime"), 0);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return current_dateTime(args, dynamic_context());
-	}
-
-	/**
-	 * Current-Date-Time operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @param dc
-	 *            Result of dynamic context operation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:current-dateTime operation.
-	 */
-	public static ResultSequence current_dateTime(Collection args,
-			DynamicContext dc) throws DynamicError {
-		assert args.size() == 0;
-
-		AnyType res = new XSDateTime(dc.current_date_time(), dc.tz());
-
-		return ResultSequenceFactory.create_new(res);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCurrentTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCurrentTime.java
deleted file mode 100644
index d5a9dd9..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCurrentTime.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper S Moller - bug 286452 - always return the stable date/time from dynamic context
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns xs:time(fn:current-dateTime()). This is a xs:time (with timezone) that
- * is current at some time during the evaluation of a query or transformation in
- * which fn:current-time() is executed. This function is stable. The precise
- * instant during the query or transformation represented by the value of
- * fn:current-time() is implementation dependent.
- */
-public class FnCurrentTime extends Function {
-	/**
-	 * Constructor for FnCurrentTime.
-	 */
-	public FnCurrentTime() {
-		super(new QName("current-time"), 0);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return current_time(args, dynamic_context());
-	}
-
-	/**
-	 * Current-Time operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @param dc
-	 *            Result of dynamic context operation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:current-time operation.
-	 */
-	public static ResultSequence current_time(Collection args, DynamicContext dc)
-			throws DynamicError {
-		assert args.size() == 0;
-
-		AnyType res = new XSTime(dc.current_date_time(), dc.tz());
-
-		return ResultSequenceFactory.create_new(res);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnData.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnData.java
deleted file mode 100644
index f4a6ddb..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnData.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 276134 - improvements to schema aware primitive type support
- *                                 for attribute/element nodes 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.ListIterator;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-/**
- * fn:data takes a sequence of items and returns a sequence of atomic values.
- * The result of fn:data is the sequence of atomic values produced by applying
- * the following rules to each item in $arg: - If the item is an atomic value,
- * it is returned. - If the item is a node, fn:data() returns the typed value of
- * the node as defined by the accessor function dm:typed-value in Section 5.6
- * typed-value Accessor in the specification.
- */
-public class FnData extends Function {
-	/**
-	 * Constructor for FnData.
-	 */
-	public FnData() {
-		super(new QName("data"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) {
-		// 1 argument only!
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		ResultSequence argument = (ResultSequence) args.iterator().next();
-
-		return atomize(argument);
-	}
-
-	/**
-	 * Atomize a ResultSequnce argument expression.
-	 * 
-	 * @param arg
-	 *            input expression.
-	 * @return Result of operation.
-	 */
-	public static ResultSequence atomize(ResultSequence arg) {
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		for (Iterator i = arg.iterator(); i.hasNext();) {
-			AnyType at = (AnyType) i.next();
-
-			if (at instanceof AnyAtomicType) {
-				rs.add(at);
-			}
-			else if (at instanceof NodeType) {
-				NodeType nt = (NodeType) at;
-				rs.concat(nt.typed_value());
-			} else {
-				assert false;
-			}
-		}
-
-		return rs;
-	}
-
-	/**
-	 * Atomize a ResultSequnce argument expression.
-	 * 
-	 * @param arg
-	 *            input expression.
-	 */
-	public static void fast_atomize(ResultSequence arg) {
-		for (ListIterator i = arg.iterator(); i.hasNext();) {
-			AnyType at = (AnyType) i.next();
-
-			if (at instanceof AnyAtomicType) {
-				continue;
-			}
-
-			// XXX prolly wrong!
-			else if (at instanceof NodeType) {
-				NodeType nt = (NodeType) at;
-
-				i.set(nt.typed_value().first());
-			} else
-				assert false;
-		}
-	}
-
-	/**
-	 * Atomize argument expression of any type.
-	 * 
-	 * @param arg
-	 *            input expression.
-	 * @return Result of operation.
-	 */
-	public static AnyType atomize(AnyType arg) {
-		if (arg instanceof AnyAtomicType)
-			return arg;
-		else if (arg instanceof NodeType) {
-			NodeType nt = (NodeType) arg;
-
-			return nt.typed_value().first();
-		} else {
-			assert false;
-			return null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDateTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDateTime.java
deleted file mode 100644
index ceb5e9e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDateTime.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Mukul Gandhi - bug 281822 - initial API and implementation
- *     David Carver - bug 282223 - implementation of xs:duration 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.StaticContext;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
-  * A special constructor function for constructing a xs:dateTime value from a xs:date
-  * value and a xs:time value.
-  * ref: Section 5.2 of the F&O spec, http://www.w3.org/TR/xpath-functions/.
- */
-public class FnDateTime extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnDateTime.
-	 */
-	public FnDateTime() {
-		super(new QName("dateTime"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return dateTime(args, static_context());
-	}
-
-	/**
-	 * Evaluate the function using the arguments passed.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @param sc
-	 *            Result of static context operation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the fn:dateTime operation.
-	 */
-	public static ResultSequence dateTime(Collection args, StaticContext sc)
-			throws DynamicError {
-
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get args
-		Iterator argiter = cargs.iterator();
-		ResultSequence arg1 = (ResultSequence) argiter.next();
-		ResultSequence arg2 = (ResultSequence) argiter.next();
-		XSDate param1 = (XSDate)arg1.first();
-		XSTime param2 = (XSTime)arg2.first();
-		
-		// if either of the parameter is an empty sequence, the result
-		// is an empty sequence
-		if (param1 == null || param2 == null) {
-		  return rs;	
-		}
-		
-		Calendar cal = Calendar.getInstance();
-		cal.set(param1.year(), param1.month() - 1, param1.day());
-		cal.set(Calendar.HOUR_OF_DAY, param2.hour());
-		cal.set(Calendar.MINUTE, param2.minute());
-		cal.set(Calendar.SECOND, (Double.valueOf(Math.floor(param2.second())).intValue()));
-		cal.set(Calendar.MILLISECOND, 0);
-		
-		XSDuration dateTimeZone = param1.tz();
-		XSDuration timeTimeZone = param2.tz();
-		if ((dateTimeZone != null && timeTimeZone != null) &&
-		     !dateTimeZone.string_value().equals(timeTimeZone.string_value())) {
-		  // it's an error, if the arguments have different timezones
-		  throw DynamicError.inconsistentTimeZone();
-		} else if (dateTimeZone == null && timeTimeZone != null) {
-           rs.add(new XSDateTime(cal, timeTimeZone));
-		} else if (dateTimeZone != null && timeTimeZone == null) {
-		   rs.add(new XSDateTime(cal, dateTimeZone));
-		}
-		else if ((dateTimeZone != null && timeTimeZone != null) &&
-			     dateTimeZone.string_value().equals(timeTimeZone.string_value())) {
-		   rs.add(new XSDateTime(cal, dateTimeZone));
-		}
-		else {
-		   rs.add(new XSDateTime(cal, null));
-		}
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSDate(), SeqType.OCC_QMARK));
-			_expected_args.add(new SeqType(new XSTime(), SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
-
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDayFromDate.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDayFromDate.java
deleted file mode 100644
index 90b31cb..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDayFromDate.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * Returns an xs:integer between 1 and 31, both inclusive, representing the day
- * component in the localized value of $arg. If $arg is the empty sequence,
- * returns the empty sequence.
- */
-public class FnDayFromDate extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnDayFromDate.
-	 */
-	public FnDayFromDate() {
-		super(new QName("day-from-date"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return day_from_date(args);
-	}
-
-	/**
-	 * Day-From-Date operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:day-from-date operation.
-	 */
-	public static ResultSequence day_from_date(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			return rs;
-		}
-
-		XSDate dt = (XSDate) arg1.first();
-
-		int res = dt.day();
-
-		rs.add(new XSInteger(BigInteger.valueOf(res)));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSDate(), SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDayFromDateTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDayFromDateTime.java
deleted file mode 100644
index d3e3d68..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDayFromDateTime.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * Returns an xs:integer between 1 and 31, both inclusive, representing the day
- * component in the localized value of $arg. If $arg is the empty sequence,
- * returns the empty sequence.
- */
-public class FnDayFromDateTime extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnDayFromDateTime.
-	 */
-	public FnDayFromDateTime() {
-		super(new QName("day-from-dateTime"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return day_from_date_time(args);
-	}
-
-	/**
-	 * Day-From-DateTime operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:day-from-datetime operation.
-	 */
-	public static ResultSequence day_from_date_time(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			return rs;
-		}
-
-		XSDateTime dt = (XSDateTime) arg1.first();
-
-		int res = dt.day();
-
-		rs.add(new XSInteger(BigInteger.valueOf(res)));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args
-					.add(new SeqType(new XSDateTime(), SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDaysFromDuration.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDaysFromDuration.java
deleted file mode 100644
index 4383451..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDaysFromDuration.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- *     David Carver - bug 282223 - implementation of xs:duration.
- *     David Carver (STAR) - bug 262765 - fixed expected xs:duration argument. 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * Returns an xs:integer representing the days component in the canonical
- * lexical representation of the value of $arg. The result may be negative. If
- * $arg is the empty sequence, returns the empty sequence.
- */
-public class FnDaysFromDuration extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnDaysFromDuration.
-	 */
-	public FnDaysFromDuration() {
-		super(new QName("days-from-duration"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return days_from_duration(args);
-	}
-
-	/**
-	 * Days-From-Duration operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:days-from-duration operation.
-	 */
-	public static ResultSequence days_from_duration(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			return rs;
-		}
-
-		XSDuration dtd = (XSDuration) arg1.first();
-
-		int res = dtd.days();
-
-		if (dtd.negative())
-			res *= -1;
-
-		rs.add(new XSInteger(BigInteger.valueOf(res)));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSDuration(),
-					SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDeepEqual.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDeepEqual.java
deleted file mode 100644
index ab3b089..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDeepEqual.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Moller - bug 280555 - Add pluggable collation support
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-import org.w3c.dom.*;
-
-/**
- * The function assesses whether two sequences are deep-equal to each other. To
- * be deep-equal, they must contain items that are pairwise deep-equal; and for
- * two items to be deep-equal, they must either by atomic values that compare
- * equal, or nodes of the same kind, with the same name, whose children are
- * deep-equal. This is defined in more detail below. The $collation argument
- * identifies a collation which is used at all levels of recursion when strings
- * are compared (but not when names are compared), according to the rules in
- * 7.3.1 Collations in the specification.
- */
-public class FnDeepEqual extends AbstractCollationEqualFunction {
-	/**
-	 * Constructor for FnDeepEqual.
-	 */
-	public FnDeepEqual() {
-		super(new QName("deep-equal"), 2, 3);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return deep_equal(args, dynamic_context());
-	}
-
-	/**
-	 * Deep-Equal expression operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @param context
-	 *            Dynamic context
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:deep-equal operation.
-	 */
-	public static ResultSequence deep_equal(Collection args, DynamicContext context)
-			throws DynamicError {
-
-		// get args
-		Iterator citer = args.iterator();
-		ResultSequence arg1 = (ResultSequence) citer.next();
-		ResultSequence arg2 = (ResultSequence) citer.next();
-		ResultSequence arg3 = null;
-		String collationURI = context.default_collation_name();
-		if (citer.hasNext()) {
-			arg3 = (ResultSequence) citer.next();
-			if (!arg3.empty()) {
-				collationURI = arg3.first().string_value();
-			}
-		}
-
-		boolean result = deep_equal(arg1, arg2, context, collationURI);
-
-		return ResultSequenceFactory.create_new(new XSBoolean(result));
-	}
-
-	/**
-	 * Deep-Equal boolean operation.
-	 * 
-	 * @param one
-	 *            input1 xpath expression/variable.
-	 * @param two
-	 *            input2 xpath expression/variable.
-	 * @param context
-	 *            Current dynamic context 
-	 * @return Result of fn:deep-equal operation.
-	 */
-	public static boolean deep_equal(ResultSequence one, ResultSequence two, DynamicContext context, String collationURI) {
-		if (one.empty() && two.empty())
-			return true;
-
-		if (one.size() != two.size())
-			return false;
-
-		Iterator onei = one.iterator();
-		Iterator twoi = two.iterator();
-
-		while (onei.hasNext()) {
-			AnyType a = (AnyType) onei.next();
-			AnyType b = (AnyType) twoi.next();
-
-			if (!deep_equal(a, b, context, collationURI))
-				return false;
-		}
-		return true;
-	}
-
-	/**
-	 * Deep-Equal boolean operation for inputs of any type.
-	 * 
-	 * @param one
-	 *            input1 xpath expression/variable.
-	 * @param two
-	 *            input2 xpath expression/variable.
-	 * @param context 
-	 * @return Result of fn:deep-equal operation.
-	 */
-	public static boolean deep_equal(AnyType one, AnyType two, DynamicContext context, String collationURI) {
-		if ((one instanceof AnyAtomicType) && (two instanceof AnyAtomicType))
-			return deep_equal((AnyAtomicType) one, (AnyAtomicType) two, context, collationURI);
-
-		else if (((one instanceof AnyAtomicType) && (two instanceof NodeType))
-				|| ((one instanceof NodeType) && (two instanceof AnyAtomicType)))
-			return false;
-		else if ((one instanceof NodeType) && (two instanceof NodeType))
-			return deep_equal((NodeType) one, (NodeType) two, context);
-		else {
-			return false;
-		}
-	}
-
-	/**
-	 * Deep-Equal boolean operation for inputs of any atomic type.
-	 * 
-	 * @param one
-	 *            input1 xpath expression/variable.
-	 * @param two
-	 *            input2 xpath expression/variable.
-	 * @return Result of fn:deep-equal operation.
-	 */
-	public static boolean deep_equal(AnyAtomicType one, AnyAtomicType two, DynamicContext context, String collationURI) {
-		if (!(one instanceof CmpEq))
-			return false;
-		if (!(two instanceof CmpEq))
-			return false;
-
-		CmpEq a = (CmpEq) one;
-
-		try {
-			if (isNumeric(one, two)) {
-				NumericType numeric = (NumericType) one;
-				if (numeric.eq(two, context)) {
-					return true;
-				} else {
-					XSString value1 = new XSString(one.string_value());
-					if (value1.eq(two, context)) {
-						return true;
-					}
-				}
-			}
-
-			if (a.eq(two, context))
-				return true;
-			
-			if (needsStringComparison(one, two)) {
-				XSString xstr1 = new XSString(one.string_value());
-				XSString xstr2 = new XSString(two.string_value());
-				if (FnCompare.compare_string(collationURI, xstr1, xstr2,
-						context).equals(BigInteger.ZERO)) {
-					return true;
-				}
-			}
-			return false;
-		} catch (DynamicError err) {
-			return false; // XXX ???
-		}
-	}
-
-	/**
-	 * Deep-Equal boolean operation for inputs of node type.
-	 * 
-	 * @param one
-	 *            input1 xpath expression/variable.
-	 * @param two
-	 *            input2 xpath expression/variable.
-	 * @return Result of fn:deep-equal operation.
-	 */
-	public static boolean deep_equal(NodeType one, NodeType two, DynamicContext context) {
-		Node a = one.node_value();
-		Node b = two.node_value();
-		
-		if (a.isEqualNode(b)) {
-			return true;
-		}
-
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDefaultCollation.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDefaultCollation.java
deleted file mode 100644
index 5947096..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDefaultCollation.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver (STAR) - initial API and implementation
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *     Jesper Steen Moeller - bug 280555 - Add pluggable collation support
- *******************************************************************************/
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import java.util.Collection;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-/**
- * <p>
- * Summary: Returns the value of the default collation property from the static
- * context. Components of the static context are discussed in Section C.1 Static
- * Context Components.
- * </p>
- * 
- * <p>
- * Note:
- * </p>
- * 
- * <p>
- * The default collation property can never be undefined. If it is not
- * explicitly defined, a system defined default can be invoked. If this is not
- * provided, the Unicode code point collation
- * (http://www.w3.org/2005/xpath-functions/collation/codepoint) is used.
- * </p>
- * 
- * @author dcarver
- * @since 1.1
- */
-public class FnDefaultCollation extends Function {
-
-	public FnDefaultCollation() {
-		super(new QName("default-collation"), 0);
-	}
-
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-		ResultSequence rs = ResultSequenceFactory.create_new();
-		rs.add(new XSString(dynamic_context().default_collation_name()));
-		return rs;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDistinctValues.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDistinctValues.java
deleted file mode 100644
index dcc904a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDistinctValues.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Moller - bug 280555 - Add pluggable collation support
- *     David Carver (STAR) - bug 262765 - fixed distinct-values comparison logic.
- *                           There is probably an easier way to do the comparison.
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-/**
- * Returns the sequence that results from removing from $arg all but one of a
- * set of values that are eq to one other. Values that cannot be compared, i.e.
- * the eq operator is not defined for their types, are considered to be
- * distinct. Values of type xdt:untypedAtomic are compared as if they were of
- * type xs:string. The order in which the sequence of values is returned is
- * implementation dependent.
- */
-public class FnDistinctValues extends AbstractCollationEqualFunction {
-	/**
-	 * Constructor for FnDistinctValues.
-	 */
-	public FnDistinctValues() {
-		super(new QName("distinct-values"), 1, 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return distinct_values(args, dynamic_context());
-	}
-
-	/**
-	 * Distinct-values operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:distinct-values operation.
-	 */
-	public static ResultSequence distinct_values(Collection args, DynamicContext context)
-			throws DynamicError {
-
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get args
-		Iterator citer = args.iterator();
-		ResultSequence arg1 = (ResultSequence) citer.next();
-		ResultSequence arg2 = ResultSequenceFactory.create_new();
-		if (citer.hasNext()) {
-			arg2 = (ResultSequence) citer.next();
-		}
-		
-		String collationURI = context.default_collation_name();
-		if (!arg2.empty()) {
-			XSString collation = (XSString) arg2.first();
-			collationURI = collation.string_value();
-		}
-
-		for (Iterator i = arg1.iterator(); i.hasNext();) {
-			AnyType at = (AnyType) i.next();
-
-			if (!(at instanceof AnyAtomicType))
-				DynamicError.throw_type_error();
-
-			if (!contains(rs, (AnyAtomicType) at, context, collationURI))
-				rs.add(at);
-		}
-
-		return rs;
-	}
-	
-	/**
-	 * Support for Contains interface.
-	 * 
-	 * @param rs
-	 *            input1 expression sequence.
-	 * @param item
-	 *            input2 expression of any atomic type.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of operation.
-	 */
-	protected static boolean contains(ResultSequence rs, AnyAtomicType item,
-			DynamicContext context, String collationURI) throws DynamicError {
-		if (!(item instanceof CmpEq))
-			return false;
-
-		return hasValue(rs, item, context, collationURI);
-	}
-	
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDoc.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDoc.java
deleted file mode 100644
index 00dca91..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDoc.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moller - bug 281159 - fix document loading and resolving URIs 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.net.URI;
-import java.util.*;
-
-/**
- * Retrieves a document using an xs:anyURI supplied as an xs:string. If $uri is
- * not a valid xs:anyURI, an error is raised [err:FODC0005]. If it is a relative
- * URI Reference, it is resolved relative to the value of the base URI property
- * from the static context. The resulting absolute URI Reference is cast to an
- * xs:string. If the Available documents discussed in Section 2.1.2 Dynamic
- * ContextXP provides a mapping from this string to a document node, the
- * function returns that document node. If the Available documents maps the
- * string to an empty sequence, then the function returns an empty sequence. If
- * the Available documents provides no mapping for the string, an error is
- * raised [err:FODC0005].
- */
-public class FnDoc extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnDoc.
-	 */
-	public FnDoc() {
-		super(new QName("doc"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return doc(args, dynamic_context());
-	}
-
-	/**
-	 * Doc operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @param dc
-	 *            Result of dynamic context operation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:doc operation.
-	 */
-	public static ResultSequence doc(Collection args, DynamicContext dc)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		// get args
-		Iterator argiter = cargs.iterator();
-		ResultSequence arg1 = (ResultSequence) argiter.next();
-
-		if (arg1.empty())
-			return ResultSequenceFactory.create_new();
-
-		String uri = ((XSString) arg1.first()).value();
-
-		URI resolved = dc.resolve_uri(uri);
-		if (resolved == null)
-			throw DynamicError.invalid_doc(null);
-
-		ResultSequence rs = dc.get_doc(resolved);
-		if (rs == null)
-			throw DynamicError.doc_not_found(null);
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
-			_expected_args.add(arg);
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDocumentUri.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDocumentUri.java
deleted file mode 100644
index 42fc878..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDocumentUri.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Mukul Gandhi - bug274731 - implementation of fn:document-uri function
- *     Jesper Moller- bug 281159 - fix document loading and resolving URIs 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the value of the document-uri property for $arg as defined by the
- * dm:document-uri accessor function defined in Section 6.1.2 AccessorsDM. If
- * $arg is the empty sequence, the empty sequence is returned. Returns the empty
- * sequence if the node is not a document node or if its document-uri property
- * is a relative URI. Otherwise, returns an absolute URI expressed as an
- * xs:string.
- */
-public class FnDocumentUri extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnDocumentUri.
-	 */
-	public FnDocumentUri() {
-		super(new QName("document-uri"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return document_uri(args);
-	}
-
-	/**
-	 * Document-Uri operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:document-uri operation.
-	 */
-	public static ResultSequence document_uri(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-		if (arg1.empty())
-		  return rs;
-
-		NodeType nt = (NodeType) arg1.first();
-
-		if (!(nt instanceof DocType))
-		  return rs;
-
-		DocType dt = (DocType) nt;
-		String documentURI = dt.value().getDocumentURI();
-		
-		if (documentURI != null) {
-			XSAnyURI docUri = new XSAnyURI(documentURI);
-			rs.add(docUri);
-		}
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEmpty.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEmpty.java
deleted file mode 100644
index 46c189d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEmpty.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * If the value of $arg is the empty sequence, the function returns true;
- * otherwise, the function returns false.
- */
-public class FnEmpty extends Function {
-	/**
-	 * Constructor for FnEmpty.
-	 */
-	public FnEmpty() {
-		super(new QName("empty"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return empty(args);
-	}
-
-	/**
-	 * Empty operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:empty operation.
-	 */
-	public static ResultSequence empty(Collection args) throws DynamicError {
-
-		assert args.size() == 1;
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get args
-		Iterator citer = args.iterator();
-		ResultSequence arg1 = (ResultSequence) citer.next();
-
-		if (arg1.empty())
-			rs.add(new XSBoolean(true));
-		else
-			rs.add(new XSBoolean(false));
-
-		return rs;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEncodeForURI.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEncodeForURI.java
deleted file mode 100644
index 13645ce..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEncodeForURI.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 David Carver, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver - STAR - bug 285321 - initial api and implementation 
- *     Jesper Steen Moeller - bug 285319 - fix UTF-8 escaping
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * <p>
- * Function to apply URI escaping rules.
- * </p>
- * 
- * <p>
- * Usage: fn:encode-for-uri($uri-part as xs:string?)
- * as xs:string
- * </p>
- * 
- * <p>
- * This class applies the URI escaping rules (with one exception), to the string
- * supplied as $uri-part, which typically represents all or part of a URI. The
- * effect of the function is to escape a set of identified characters in the
- * string. Each such character is replaced in the string by an escape sequence,
- * which is formed by encoding the character as a sequence of octets in UTF-8,
- * and then representing each of these octets in the form %HH, where HH is the
- * hexadecimal representation of the octet.
- * </p>
- * 
- * <p>
- * If $uri-part is the empty sequence, returns the zero-length string.
- * </p>
- * 
- * 
- * <p>
- * To ensure that escaped URIs can be compared using string comparison
- * functions, this function must always generate hexadecimal values using the
- * upper-case letters A-F.
- * </p>
- */
-public class FnEncodeForURI extends AbstractURIFunction {
-	/**
-	 * Constructor for FnEscape-for-Uri.
-	 */
-	public FnEncodeForURI() {
-		super(new QName("encode-for-uri"), 1, 1);
-	}
-
-	/**
-	 * Evaluate the arguments.
-	 * 
-	 * @param args
-	 *            are evaluated.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The evaluation of the arguments after application of the URI
-	 *         escaping rules.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return escape_uri(args, true, true);
-	}
-	
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEndsWith.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEndsWith.java
deleted file mode 100644
index 5251723..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEndsWith.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns an xs:boolean indicating whether or not the value of $arg1 ends with
- * a sequence of collation units that provides a minimal match to the collation
- * units of M$arg2 according to the collation that is used.
- */
-public class FnEndsWith extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnEndsWith.
-	 */
-	public FnEndsWith() {
-		super(new QName("ends-with"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return ends_with(args);
-	}
-
-	/**
-	 * Ends-with operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:ends-with operation.
-	 */
-	public static ResultSequence ends_with(Collection args) throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get args
-		Iterator argiter = cargs.iterator();
-		ResultSequence arg1 = (ResultSequence) argiter.next();
-		String str1 = "";
-		String str2 = "";
-		if (!arg1.empty())
-			str1 = ((XSString) arg1.first()).value();
-
-		ResultSequence arg2 = (ResultSequence) argiter.next();
-		if (!arg2.empty())
-			str2 = ((XSString) arg2.first()).value();
-
-		int str1len = str1.length();
-		int str2len = str2.length();
-
-		if (str1len == 0 && str2len != 0) {
-			rs.add(new XSBoolean(false));
-			return rs;
-		}
-		if (str2len == 0) {
-			rs.add(new XSBoolean(true));
-			return rs;
-		}
-
-		if (str1.endsWith(str2))
-			rs.add(new XSBoolean(true));
-		else
-			rs.add(new XSBoolean(false));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
-			_expected_args.add(arg);
-			_expected_args.add(arg);
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnError.java
deleted file mode 100644
index c9b83ee..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnError.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 28149 - add remaining fn:error functionality
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * The fn:error function causes the evaluation of the outermost XQuery or
- * transformation to stop. While this function never returns a value, an error,
- * if it occurs, is returned to the external processing environment as an
- * xs:anyURI or an xs:QName. The error xs:anyURI is derived from the error
- * xs:QName. An error xs:QName with namespace URI NS and local part LP will be
- * returned as the xs:anyURI NS#LP. The method by which the xs:anyURI or
- * xs:QName is returned to the external processing environment is implementation
- * dependent.
- */
-public class FnError extends Function {
-
-	private static ArrayList _expected_args;
-	private static ArrayList _expected_args1;
-
-	// XXX overloaded...
-	/**
-	 * Constructor for FnError.
-	 */
-	public FnError() {
-		super(new QName("error"), 0, 3);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		// Differentiate depending on whether there is one (required) argument or whatever.
-		Collection cargs = Function.convert_arguments(args, args.size() == 1 ? expected_args1() : expected_args());
-
-		QName code = null;
-		ResultSequence items = null;
-		String description = null;
-		
-		// Iterate over the args
-		Iterator it = cargs.iterator();
-		if (it.hasNext()) {
-			ResultSequence rsQName = (ResultSequence)it.next();
-			// for arity 2 and 3, the code is not mandatory, as in fn:code((), "description). Handle this:
-			if (! rsQName.empty()) code = (QName)rsQName.first();
-		}
-		// Next arg (if present) is the description
-		if (it.hasNext()) {
-			ResultSequence rsDescription = (ResultSequence)it.next();
-			description = ((XSString)rsDescription.first()).value();
-		}
-		// Final arg (if present) is the list of items
-		if (it.hasNext()) {
-			items = (ResultSequence)it.next();
-		}
-	
-		// Handle the code if missing
-		if (code == null) code = new QName("err", "FOER0000", "http://www.w3.org/2005/xqt-errors");
-		
-		return error(code, description, items);
-	}
-
-	/**
-	 * Error operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:error operation.
-	 */
-	public static ResultSequence error(QName error, String description, ResultSequence items) throws DynamicError {
-
-		throw DynamicError.user_error(error.namespace(), error.local(), description);
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new QName(), SeqType.OCC_QMARK));
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
-			_expected_args.add(new SeqType(AnyType.class, SeqType.OCC_STAR));
-		}
-
-		return _expected_args;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args1() {
-		if (_expected_args1 == null) {
-			_expected_args1 = new ArrayList();
-			_expected_args1.add(new SeqType(new QName(), SeqType.OCC_NONE));
-		}
-
-		return _expected_args1;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEscapeHTMLUri.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEscapeHTMLUri.java
deleted file mode 100644
index 9a25268..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEscapeHTMLUri.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver - STAR - bug 262765 - renamed to correct function name. 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *     Jesper Steen Moeller - bug 285319 - fix UTF-8 escaping, and fix arity bug
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * <p>
- * Function to apply URI escaping rules.
- * </p>
- * 
- * <p>
- * Usage: fn:escape-html-uri($uri-part as xs:string?, $escape-reserved as xs:boolean)
- * as xs:string
- * </p>
- * 
- * <p>
- * This class applies the URI escaping rules (with one exception), to the string
- * supplied as $uri-part, which typically represents all or part of a URI. The
- * effect of the function is to escape a set of identified characters in the
- * string. Each such character is replaced in the string by an escape sequence,
- * which is formed by encoding the character as a sequence of octets in UTF-8,
- * and then representing each of these octets in the form %HH, where HH is the
- * hexadecimal representation of the octet.
- * </p>
- * 
- * <p>
- * The set of characters that are escaped depends on the setting of the boolean
- * argument $escape-reserved.
- * </p>
- * 
- * <p>
- * If $uri-part is the empty sequence, returns the zero-length string.
- * </p>
- * 
- * <p>
- * If $escape-reserved is true, all characters are escaped other than the lower
- * case letters a-z, the upper case letters A-Z, the digits 0-9, the PERCENT
- * SIGN "%" and the NUMBER SIGN "#", as well as certain other characters:
- * specifically, HYPHEN-MINUS ("-"), LOW LINE ("_"), FULL STOP ".", EXCLAMATION
- * MARK "!", TILDE "~", ASTERISK "*", APOSTROPHE "'", LEFT PARENTHESIS "(", and
- * RIGHT PARENTHESIS ")".
- * </p>
- * 
- * <p>
- * If $escape-reserved is false, additional characters are added to the list of
- * characters that are not escaped. These are the following: SEMICOLON ";",
- * SOLIDUS "/", QUESTION MARK "?", COLON ":", COMMERCIAL AT "@", AMPERSAND "&",
- * EQUALS SIGN "=", PLUS SIGN "+", DOLLAR SIGN "$", COMMA ",", LEFT SQUARE
- * BRACKET "[" and RIGHT SQUARE BRACKET "]".
- * </p>
- * 
- * <p>
- * To ensure that escaped URIs can be compared using string comparison
- * functions, this function must always generate hexadecimal values using the
- * upper-case letters A-F.
- * </p>
- * 
- * <p>
- * Generally, $escape-reserved should be set to true when escaping a string that
- * is to form a single part of a URI, and to false when escaping an entire URI
- * or URI reference.
- * </p>
- * 
- * <p>
- * Since this function does not escape the PERCENT SIGN "%" and this character
- * is not allowed in a URI, users wishing to convert character strings, such as
- * file names, that include "%" to a URI should manually escape "%" by replacing
- * it with "%25".
- * </p>
- */
-public class FnEscapeHTMLUri extends AbstractURIFunction {
-	/**
-	 * Constructor for FnEscape-html-Uri.
-	 */
-	public FnEscapeHTMLUri() {
-		super(new QName("escape-html-uri"), 1);
-	}
-
-	/**
-	 * Evaluate the arguments.
-	 * 
-	 * @param args
-	 *            are evaluated.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The evaluation of the arguments after application of the URI
-	 *         escaping rules.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return escape_uri(args, false, false);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnExactlyOne.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnExactlyOne.java
deleted file mode 100644
index 79d0d85..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnExactlyOne.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns $arg if it contains exactly one item. Otherwise, raises an error
- * [err:FORG0005]. The type of the result depends on the type of $arg.
- */
-public class FnExactlyOne extends Function {
-	/**
-	 * Constructor for FnExactlyOne.
-	 */
-	public FnExactlyOne() {
-		super(new QName("exactly-one"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return exactly_one(args);
-	}
-
-	/**
-	 * Exactly-one operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:exactly-one operation.
-	 */
-	public static ResultSequence exactly_one(Collection args)
-			throws DynamicError {
-
-		assert args.size() == 1;
-
-		// get args
-		Iterator citer = args.iterator();
-		ResultSequence arg = (ResultSequence) citer.next();
-
-		if (arg.size() != 1)
-			throw DynamicError.not_one(null);
-
-		return arg;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnExists.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnExists.java
deleted file mode 100644
index d020396..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnExists.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * If the value of $arg is not the empty sequence, the function returns true;
- * otherwise, the function returns false.
- */
-public class FnExists extends Function {
-	/**
-	 * Constructor for FnExists.
-	 */
-	public FnExists() {
-		super(new QName("exists"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return exists(args);
-	}
-
-	/**
-	 * Exists operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:exists operation.
-	 */
-	public static ResultSequence exists(Collection args) throws DynamicError {
-
-		assert args.size() == 1;
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get args
-		Iterator citer = args.iterator();
-		ResultSequence arg1 = (ResultSequence) citer.next();
-
-		if (arg1.empty())
-			rs.add(new XSBoolean(false));
-		else
-			rs.add(new XSBoolean(true));
-
-		return rs;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnFalse.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnFalse.java
deleted file mode 100644
index 0ba9b5d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnFalse.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the xs:boolean value false. Equivalent to xs:boolean("0").
- */
-public class FnFalse extends Function {
-	/**
-	 * Constructor for FnFalse.
-	 */
-	public FnFalse() {
-		super(new QName("false"), 0);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return fn_false(args);
-	}
-
-	/**
-	 * False operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:false operation.
-	 */
-	public static ResultSequence fn_false(Collection args) throws DynamicError {
-		assert args.size() == 0;
-
-		return ResultSequenceFactory.create_new(new XSBoolean(false));
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnFloor.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnFloor.java
deleted file mode 100644
index 76659c1..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnFloor.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the largest (closest to positive infinity) number with no fractional
- * part that is not greater than the value of $arg. If type of $arg is one of
- * the four numeric types xs:float, xs:double, xs:decimal or xs:integer the type
- * of the return is the same as the type of $arg. If the type of $arg is a type
- * derived from one of the numeric types, the type of the return is the base
- * numeric type. For float and double arguments, if the argument is positive
- * zero (+0), then positive zero (+0) is returned. If the argument is negative
- * zero (-0), then negative zero (-0) is returned.
- */
-public class FnFloor extends Function {
-	/**
-	 * Constructor for FnFloor.
-	 */
-	public FnFloor() {
-		super(new QName("floor"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		// 1 argument only!
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		ResultSequence argument = (ResultSequence) args.iterator().next();
-
-		return fn_floor(argument);
-	}
-
-	/**
-	 * Floor operation.
-	 * 
-	 * @param arg
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:floor operation.
-	 */
-	public static ResultSequence fn_floor(ResultSequence arg)
-			throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// sanity chex
-		NumericType nt = FnAbs.get_single_numeric_arg(arg);
-
-		// empty arg
-		if (nt == null)
-			return rs;
-
-		rs.add(nt.floor());
-		return rs;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnHoursFromDateTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnHoursFromDateTime.java
deleted file mode 100644
index a4cb6b8..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnHoursFromDateTime.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * Returns an xs:integer between 0 and 23, both inclusive, representing the
- * hours component in the localized value of $arg. If $arg is the empty
- * sequence, returns the empty sequence.
- */
-public class FnHoursFromDateTime extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnHoursFromDateTime.
-	 */
-	public FnHoursFromDateTime() {
-		super(new QName("hours-from-dateTime"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return hours_from_date_time(args);
-	}
-
-	/**
-	 * Hours-from-DateTime operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:hours-from-dateTime operation.
-	 */
-	public static ResultSequence hours_from_date_time(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			return rs;
-		}
-
-		XSDateTime dt = (XSDateTime) arg1.first();
-
-		int res = dt.hour();
-
-		rs.add(new XSInteger(BigInteger.valueOf(res)));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args
-					.add(new SeqType(new XSDateTime(), SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnHoursFromDuration.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnHoursFromDuration.java
deleted file mode 100644
index 855a712..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnHoursFromDuration.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- *     David Carver - bug 282223 - implementation of xs:duration
- *     David Carver (STAR) - bug 262765 - fixed expected xs:duration argument. 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * Returns an xs:integer representing the hours component in the canonical
- * lexical representation of the value of $arg. The result may be negative. If
- * $arg is the empty sequence, returns the empty sequence.
- */
-public class FnHoursFromDuration extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnHoursFromDuration.
-	 */
-	public FnHoursFromDuration() {
-		super(new QName("hours-from-duration"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return hours_from_duration(args);
-	}
-
-	/**
-	 * Hours-from-Duration operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:hours-from-duration operation.
-	 */
-	public static ResultSequence hours_from_duration(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			return rs;
-		}
-
-		XSDuration dtd = (XSDuration) arg1.first();
-
-		int res = dtd.hours();
-
-		if (dtd.negative())
-			res *= -1;
-
-		rs.add(new XSInteger(BigInteger.valueOf(res)));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSDuration(),
-					SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnHoursFromTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnHoursFromTime.java
deleted file mode 100644
index f0929e9..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnHoursFromTime.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * Returns an xs:integer between 0 and 23, both inclusive, representing the
- * value of the hours component in the localized value of $arg. If $arg is the
- * empty sequence, returns the empty sequence.
- */
-public class FnHoursFromTime extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnHoursFromTime.
-	 */
-	public FnHoursFromTime() {
-		super(new QName("hours-from-time"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return hours_from_time(args);
-	}
-
-	/**
-	 * Hours-from-Time operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:hours-from-time operation.
-	 */
-	public static ResultSequence hours_from_time(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			return rs;
-		}
-
-		XSTime dt = (XSTime) arg1.first();
-
-		int res = dt.hour();
-
-		rs.add(new XSInteger(BigInteger.valueOf(res)));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSTime(), SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnID.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnID.java
deleted file mode 100644
index 315688f..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnID.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standard for Technology in Automotive Retail, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * 	   David Carver (STAR) - bug 281168 - initial API and implementation
- *     David Carver  - bug 281186 - implementation of fn:id and fn:idref
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import java.util.*;
-
-/**
- * Returns the sequence of element nodes that have an ID value matching the value of one
- * or more of the IDREF values supplied in $arg .
- */
-public class FnID extends Function {
-	private static Collection _expected_args = null;
-	
-	/**
-	 * Constructor for FnInsertBefore.
-	 */
-	public FnID() {
-		super(new QName("id"), 1, 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return id(args, dynamic_context());
-	}
-
-	/**
-	 * Insert-Before operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:insert-before operation.
-	 */
-	public static ResultSequence id(Collection args, DynamicContext context) throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-		
-		Iterator argIt = cargs.iterator();
-		ResultSequence idrefRS = (ResultSequence) argIt.next();
-		String[] idrefst = idrefRS.first().string_value().split(" ");
-
-		ArrayList idrefs = createIDRefs(idrefst);
-		ResultSequence nodeArg = null;
-		NodeType nodeType = null;
-		if (argIt.hasNext()) {
-			nodeArg = (ResultSequence) argIt.next();
-			nodeType = (NodeType)nodeArg.first();
-		} else {
-			if (context.context_item() == null) {
-				throw DynamicError.contextUndefined();
-			}
-			if (!(context.context_item() instanceof NodeType)) {
-				throw new DynamicError(TypeError.invalid_type(null));
-			}
-			nodeType = (NodeType) context.context_item();
-			if (nodeType.node_value().getOwnerDocument() == null) {
-				throw DynamicError.contextUndefined();
-			}
-		}
-		
-		Node node = nodeType.node_value();
-		if (node.getOwnerDocument() == null) {
-			// W3C Test suite seems to want XPDY0002
-			throw DynamicError.contextUndefined();
-			//throw DynamicError.noContextDoc();
-		}
-		
-		if (hasIDREF(idrefs, node)) {
-			ElementType element = new ElementType((Element) node);
-			rs.add(element);
-		}
-		
-		rs = processAttributes(node, idrefs, rs);
-		rs = processChildNodes(node, idrefs, rs);
-
-		return rs;
-	}
-	
-	private static ArrayList createIDRefs(String[] idReftokens) {
-		ArrayList xsidRef = new ArrayList();
-		for (int i = 0; i < idReftokens.length; i++) {
-			XSIDREF idref = new XSIDREF(idReftokens[i]);
-			xsidRef.add(idref);
-		}
-		return xsidRef;
-	}
-	
-	private static ResultSequence processChildNodes(Node node, List idrefs, ResultSequence rs) {
-		if (!node.hasChildNodes()) {
-			return rs;
-		}
-		
-		NodeList nodeList = node.getChildNodes();
-		for (int nodecnt = 0; nodecnt < nodeList.getLength(); nodecnt++) {
-			Node childNode = nodeList.item(nodecnt);
-			if (childNode.getNodeType() == Node.ELEMENT_NODE && !isDuplicate(childNode, rs)) {
-				ElementType element = new ElementType((Element)childNode);
-				if (element.isID()) {
-					if (hasIDREF(idrefs, childNode)) {
-						rs.add(element);
-					}
-				} 
-				rs = processAttributes(childNode, idrefs, rs);
-				rs = processChildNodes(childNode, idrefs, rs);
-			}
-		}
-		
-		return rs;
-
-	}
-	
-	private static ResultSequence processAttributes(Node node, List idrefs, ResultSequence rs) {
-		if (!node.hasAttributes()) {
-			return rs;
-		}
-		
-		NamedNodeMap attributeList = node.getAttributes();
-		for (int atsub = 0; atsub < attributeList.getLength(); atsub++) {
-			Attr atNode = (Attr) attributeList.item(atsub);
-			NodeType atType = new AttrType(atNode);
-			if (atType.isID()) {
-				if (hasIDREF(idrefs, atNode)) {
-					if (!isDuplicate(node, rs)) {
-						ElementType element = new ElementType((Element)node);
-						rs.add(element);
-					}
-				}
-			}
-		}
-		return rs;
-	}
-	
-	private static boolean hasIDREF(List idrefs, Node node) {
-		for (int i = 0; i < idrefs.size(); i++) {
-			XSIDREF idref = (XSIDREF) idrefs.get(i);
-			if (idref.string_value().equals(node.getNodeValue())) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	private static boolean isDuplicate(Node node, ResultSequence rs) {
-		Iterator it = rs.iterator();
-		while (it.hasNext()) {
-			if (it.next().equals(node)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(new XSString(), SeqType.OCC_STAR);
-			_expected_args.add(arg);
-			_expected_args.add(new SeqType(SeqType.OCC_NONE));
-		}
-
-		return _expected_args;
-	}
-	
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnIDREF.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnIDREF.java
deleted file mode 100644
index a16bac2..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnIDREF.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standard for Technology in Automotive Retail, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * 	   David Carver (STAR) - bug 281168 - initial API and implementation
- *     David Carver  - bug 281186 - implementation of fn:id and fn:idref
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import java.util.*;
-
-/**
- * 
- */
-public class FnIDREF extends Function {
-	private static Collection _expected_args = null;
-	
-	/**
-	 * Constructor for FnInsertBefore.
-	 */
-	public FnIDREF() {
-		super(new QName("idref"), 1, 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return idref(args, dynamic_context());
-	}
-
-	/**
-	 * Insert-Before operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:insert-before operation.
-	 */
-	public static ResultSequence idref(Collection args, DynamicContext context) throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-		
-		Iterator argIt = cargs.iterator();
-		ResultSequence idrefRS = (ResultSequence) argIt.next();
-		String[] idst = idrefRS.first().string_value().split(" ");
-
-		ArrayList ids = createIDs(idst);
-		ResultSequence nodeArg = null;
-		NodeType nodeType = null;
-		if (argIt.hasNext()) {
-			nodeArg = (ResultSequence) argIt.next();
-			nodeType = (NodeType)nodeArg.first();
-		} else {
-			if (context.context_item() == null) {
-				throw DynamicError.contextUndefined();
-			}
-			if (!(context.context_item() instanceof NodeType)) {
-				throw new DynamicError(TypeError.invalid_type(null));
-			}
-			nodeType = (NodeType) context.context_item();
-			if (nodeType.node_value().getOwnerDocument() == null) {
-				throw DynamicError.contextUndefined();
-			}
-		}
-		
-		Node node = nodeType.node_value();
-		if (node.getOwnerDocument() == null) {
-			// W3C test suite seems to want XPDY0002 here
-			throw DynamicError.contextUndefined();
-			//throw DynamicError.noContextDoc();
-		}
-		
-		if (hasID(ids, node)) {
-			ElementType element = new ElementType((Element) node);
-			rs.add(element);
-		}
-		
-		rs = processAttributes(node, ids, rs);
-		rs = processChildNodes(node, ids, rs);
-
-		return rs;
-	}
-	
-	private static ArrayList createIDs(String[] idtokens) {
-		ArrayList xsid = new ArrayList();
-		for (int i = 0; i < idtokens.length; i++) {
-			XSID id = new XSID(idtokens[i]);
-			xsid.add(id);
-		}
-		return xsid;
-	}
-	
-	private static ResultSequence processChildNodes(Node node, List ids, ResultSequence rs) {
-		if (!node.hasChildNodes()) {
-			return rs;
-		}
-		
-		NodeList nodeList = node.getChildNodes();
-		for (int nodecnt = 0; nodecnt < nodeList.getLength(); nodecnt++) {
-			Node childNode = nodeList.item(nodecnt);
-			if (childNode.getNodeType() == Node.ELEMENT_NODE && !isDuplicate(childNode, rs)) {
-				ElementType element = new ElementType((Element)childNode);
-				if (element.isIDREF()) {
-					if (hasID(ids, childNode)) {
-						rs.add(element);
-					}
-				} 
-				rs = processAttributes(childNode, ids, rs);
-				rs = processChildNodes(childNode, ids, rs);
-			}
-		}
-		
-		return rs;
-
-	}
-	
-	private static ResultSequence processAttributes(Node node, List idrefs, ResultSequence rs) {
-		if (!node.hasAttributes()) {
-			return rs;
-		}
-		
-		NamedNodeMap attributeList = node.getAttributes();
-		for (int atsub = 0; atsub < attributeList.getLength(); atsub++) {
-			Attr atNode = (Attr) attributeList.item(atsub);
-			NodeType atType = new AttrType(atNode);
-			if (atType.isID()) {
-				if (hasID(idrefs, atNode)) {
-					if (!isDuplicate(node, rs)) {
-						ElementType element = new ElementType((Element)node);
-						rs.add(element);
-					}
-				}
-			}
-		}
-		return rs;
-	}
-	
-	private static boolean hasID(List ids, Node node) {
-		for (int i = 0; i < ids.size(); i++) {
-			XSID idref = (XSID) ids.get(i);
-			if (idref.string_value().equals(node.getNodeValue())) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	private static boolean isDuplicate(Node node, ResultSequence rs) {
-		Iterator it = rs.iterator();
-		while (it.hasNext()) {
-			if (it.next().equals(node)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(new XSString(), SeqType.OCC_STAR);
-			_expected_args.add(arg);
-			_expected_args.add(new SeqType(SeqType.OCC_NONE));
-		}
-
-		return _expected_args;
-	}
-	
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnImplicitTimezone.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnImplicitTimezone.java
deleted file mode 100644
index 3e78493..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnImplicitTimezone.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- *     David Carver - bug 282223 - implementation of xs:duration 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the value of the implicit timezone property from the dynamic context.
- * Components of the dynamic context are discussed in Section C.2 Dynamic
- * Context Components
- */
-public class FnImplicitTimezone extends Function {
-	/**
-	 * Constructor for FnImplicitTimezone.
-	 */
-	public FnImplicitTimezone() {
-		super(new QName("implicit-timezone"), 0);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return implicit_timezone(args, dynamic_context());
-	}
-
-	/**
-	 * Implicit-Timezone operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @param dc
-	 *            Result of dynamic context operation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:implicit-timezone operation.
-	 */
-	public static ResultSequence implicit_timezone(Collection args,
-			DynamicContext dc) throws DynamicError {
-		assert args.size() == 0;
-
-		try {
-			AnyType res = (XSDuration) dc.tz().clone();
-
-			return ResultSequenceFactory.create_new(res);
-		} catch (CloneNotSupportedException err) {
-			assert false;
-			return null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnInScopePrefixes.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnInScopePrefixes.java
deleted file mode 100644
index f709d78..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnInScopePrefixes.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver  - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-import java.util.*;
-
-import javax.xml.XMLConstants;
-
-/**
- * Returns the in-scope-prefixes for the element and any of it's ancestors.
- */
-public class FnInScopePrefixes extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnPrefixFromQName
-	 */
-	public FnInScopePrefixes() {
-		super(new QName("in-scope-prefixes"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return inScopePrefixes(args, _fl.dynamic_context());
-	}
-
-	/**
-	 * Prefix-from-QName operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:prefix-from-QName operation.
-	 */
-	public static ResultSequence inScopePrefixes(Collection args, DynamicContext dc) throws DynamicError {
-
-//		Collection cargs = Function.convert_arguments(args, expected_args());
-		Collection cargs = args;
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		if (arg1.empty())
-		  return rs;
-		
-		AnyType anytype = arg1.first();
-		if (!(anytype instanceof ElementType)) {
-			throw new DynamicError(TypeError.invalid_type(null));
-		}
-
-		ElementType element = (ElementType) arg1.first();
-		List prefixList = lookupPrefixes(element);
-		createPrefixResultSet(rs, prefixList);
-		return rs;
-	}
-
-	private static void createPrefixResultSet(ResultSequence rs, List prefixList) {
-		for (int i = 0; i < prefixList.size(); i++) {
-			String prefix = (String) prefixList.get(i);
-			rs.add(new XSString(prefix));
-		}
-	}
-
-	private static List lookupPrefixes(ElementType element) {
-		Element domElm = (Element) element.node_value();
-		
-		List prefixList = new ArrayList();
-		Node node = domElm;
-		
-		while (node != null && node.getNodeType() != Node.DOCUMENT_NODE) {
-			NamedNodeMap attrs = node.getAttributes();
-			for (int i = 0; i < attrs.getLength(); i++) {
-				Node attr = attrs.item(i);
-				String prefix = null;
-				if (attr.getNamespaceURI() != null &&
-					attr.getNamespaceURI().equals(XMLConstants.XMLNS_ATTRIBUTE_NS_URI)) {
-					// Default Namespace
-					if (attr.getNodeName().equals(XMLConstants.XMLNS_ATTRIBUTE)) {
-						prefix = "";
-					} else {
-						// Should we check the namespace in the Dynamic Context and return that???
-						prefix = attr.getLocalName();
-					}
-					if (prefix != null) {
-						if (!prefixList.contains(prefix)) {
-							prefixList.add(prefix);
-						}
-					}
-				}
-			}
-			
-			node = node.getParentNode();
-		}
-		return prefixList;
-	}
-	
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(new ElementType(), SeqType.OCC_PLUS);
-			_expected_args.add(arg);
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnIndexOf.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnIndexOf.java
deleted file mode 100644
index e0d8649..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnIndexOf.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Moller - bug 280555 - Add pluggable collation support
- *     David Carver (STAR) - bug 262765 - fixed collation and comparison issues.
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-/**
- * Returns a sequence of positive integers giving the positions within the
- * sequence $seqParam of items that are equal to $srchParam.
- */
-public class FnIndexOf extends AbstractCollationEqualFunction {
-	
-	private static Collection _expected_args = null;
-	
-	/**
-	 * Constructor for FnIndexOf.
-	 */
-	public FnIndexOf() {
-		super(new QName("index-of"), 2, 3);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return index_of(args, dynamic_context());
-	}
-
-	/**
-	 * Obtain a comparable type.
-	 * 
-	 * @param at
-	 *            expression of any type.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of operation.
-	 */
-	private static CmpEq get_comparable(AnyType at) throws DynamicError {
-		if (at instanceof NodeType) {
-			XSString nodeString = new XSString(at.string_value());
-			return nodeString;
-		}
-		
-		if (!(at instanceof AnyAtomicType))
-			DynamicError.throw_type_error();
-		
-		if (!(at instanceof CmpEq))
-			throw DynamicError.not_cmp(null);
-
-		return (CmpEq) at;
-	}
-
-	/**
-	 * Index-Of operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @param dynamicContext 
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:index-of operation.
-	 */
-	public static ResultSequence index_of(Collection args, DynamicContext dynamicContext) throws DynamicError {
-		Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get args
-		Iterator citer = args.iterator();
-		ResultSequence arg1 = (ResultSequence) citer.next();
-		ResultSequence arg2 = (ResultSequence) citer.next();
-		
-		if (arg1.empty()) {
-			return rs;
-		}
-
-		// sanity chex
-		if (arg2.size() != 1)
-			DynamicError.throw_type_error();
-		
-		String collationUri = dynamicContext.default_collation_name();
-		if (citer.hasNext()) {
-			ResultSequence arg3 = (ResultSequence) citer.next();
-			if (!arg3.empty()) {
-				XSString collation = (XSString) arg3.first();
-				collationUri = collation.string_value();
-			}
-		}
-
-		AnyAtomicType at = (AnyAtomicType)arg2.first();
-
-		get_comparable(at);
-
-		int index = 1;
-
-		for (Iterator i = arg1.iterator(); i.hasNext();) {
-			AnyType cmptype = (AnyType) i.next();
-			get_comparable(cmptype);
-
-			if (!(at instanceof CmpEq))
-				continue;
-			
-			if (isBoolean(cmptype, at)) {
-				XSBoolean boolat = (XSBoolean) cmptype;
-				if (boolat.eq(at, dynamicContext)) {
- 				   rs.add(new XSInteger(BigInteger.valueOf(index)));
-				}
-			} else 
-			
-			if (isNumeric(cmptype, at)) {
-				NumericType numericat = (NumericType) at;
-				if (numericat.eq(cmptype, dynamicContext)) {
-					rs.add(new XSInteger(BigInteger.valueOf(index)));
-				}
-			} else
-			
-			if (isDuration(cmptype, at)) {
-				XSDuration durat = (XSDuration) at;
-				if (durat.eq(cmptype, dynamicContext)) {
-					rs.add(new XSInteger(BigInteger.valueOf(index)));
-				}
-			} else
-			
-			if (needsStringComparison(cmptype, at)) {
-				XSString xstr1 = new XSString(cmptype.string_value());
-				XSString itemStr = new XSString(at.string_value());
-				if (FnCompare.compare_string(collationUri, xstr1, itemStr, dynamicContext).equals(BigInteger.ZERO)) {
-					rs.add(new XSInteger(BigInteger.valueOf(index)));
-				}
-			} 
-			
-			index++;
-		}
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(AnyType.class, SeqType.OCC_STAR);
-			_expected_args.add(arg);
-			_expected_args.add(new SeqType(AnyAtomicType.class, SeqType.OCC_NONE));
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
-			_expected_args.add(arg);
-		}
-
-		return _expected_args;
-	}
-	
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnInsertBefore.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnInsertBefore.java
deleted file mode 100644
index 74465b0..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnInsertBefore.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 274805 - improvements to xs:integer data type 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns a new sequence constructed from the value of $target with the value
- * of $inserts inserted at the position specified by the value of $position.
- * (The value of $target is not affected by the sequence construction.)
- */
-public class FnInsertBefore extends Function {
-	/**
-	 * Constructor for FnInsertBefore.
-	 */
-	public FnInsertBefore() {
-		super(new QName("insert-before"), 3);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return insert_before(args);
-	}
-
-	/**
-	 * Insert-Before operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:insert-before operation.
-	 */
-	public static ResultSequence insert_before(Collection args)
-			throws DynamicError {
-
-		assert args.size() == 3;
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get args
-		Iterator citer = args.iterator();
-		ResultSequence target = (ResultSequence) citer.next();
-		ResultSequence arg2 = (ResultSequence) citer.next();
-		ResultSequence inserts = (ResultSequence) citer.next();
-
-		// sanity chex
-		if (arg2.size() != 1)
-			DynamicError.throw_type_error();
-
-		AnyType at = arg2.first();
-		if (!(at instanceof XSInteger))
-			DynamicError.throw_type_error();
-
-		// XXX cloning!
-		if (target.empty())
-			return inserts;
-		if (inserts.empty())
-			return target;
-
-		int position = ((XSInteger) at).int_value().intValue();
-
-		if (position < 1)
-			position = 1;
-		int target_size = target.size();
-
-		if (position > target_size)
-			position = target_size + 1;
-
-		int curpos = 1;
-
-		for (Iterator i = target.iterator(); i.hasNext();) {
-			at = (AnyType) i.next();
-
-			if (curpos == position)
-				rs.concat(inserts);
-
-			rs.add(at);
-
-			curpos++;
-		}
-		if (curpos == position)
-			rs.concat(inserts);
-
-		return rs;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnIriToURI.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnIriToURI.java
deleted file mode 100644
index 5feab4f..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnIriToURI.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver - STAR - bug 262765 - renamed to correct function name. 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *     Jesper Steen Moeller - bug 285319 - fix UTF-8 escaping
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import java.util.Collection;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-public class FnIriToURI extends AbstractURIFunction {
-
-	public FnIriToURI() {
-		super(new QName("iri-to-uri"), 1);
-	}
-	
-	/**
-	 * Evaluate the arguments.
-	 * 
-	 * @param args
-	 *            are evaluated.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The evaluation of the arguments after application of the URI
-	 *         escaping rules.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return escape_uri(args, false, true);
-	}	
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLang.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLang.java
deleted file mode 100644
index f82fbbc..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLang.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver (STAR) - bug 280972 - fix fn:lang implementation so it matches spec. 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *     David Carver (STAR) - bug 262765 - correct invalidType to throw XPTY0004 instead of FORG0006
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-import org.w3c.dom.*;
-
-/**
- * This function tests whether the language of $node, or the context node if the
- * second argument is omitted, as specified by xml:lang attributes is the same
- * as, or is a sublanguage of, the language specified by $testlang. The language
- * of the argument node, or the context node if the second argument is omitted,
- * is determined by the value of the xml:lang attribute on the node, or, if the
- * node has no such attribute, by the value of the xml:lang attribute on the
- * nearest ancestor of the node that has an xml:lang attribute. If there is no
- * such ancestor, then the function returns false.
- */
-public class FnLang extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnLang.
-	 */
-	public FnLang() {
-		super(new QName("lang"), 1, 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return lang(args, dynamic_context());
-	}
-
-	/**
-	 * Language operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:lang operation.
-	 */
-	public static ResultSequence lang(Collection args, DynamicContext context) throws DynamicError {
-
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get arg
-		Iterator citer = cargs.iterator();
-		ResultSequence arg1 = (ResultSequence) citer.next();
-		ResultSequence arg2 = null;
-		if (cargs.size() == 1) {
-			if (context.context_item() == null) {
-				throw DynamicError.contextUndefined();
-			}
-			arg2 = ResultSequenceFactory.create_new();
-			arg2.add(context.context_item());
-		} else {
-			arg2 = (ResultSequence) citer.next();
-		}
-		
-		String lang = "";
-
-		if (!arg1.empty()) {
-			lang = ((XSString) arg1.first()).value();
-		}
-
-		
-		if (!(arg2.first() instanceof NodeType) ) {
-			throw DynamicError.invalidType();
-		}
-		
-		NodeType an = (NodeType) arg2.first();
-
-		rs.add(new XSBoolean(test_lang(an.node_value(), lang)));
-
-		return rs;
-	}
-
-	/**
-	 * Language test operation.
-	 * 
-	 * @param node
-	 *            Node to test.
-	 * @param lang
-	 *            Language to test for.
-	 * @return Boolean result of operation.
-	 */
-	private static boolean test_lang(Node node, String lang) {
-		NamedNodeMap attrs = node.getAttributes();
-
-		if (attrs != null) {
-			for (int i = 0; i < attrs.getLength(); i++) {
-				Attr attr = (Attr) attrs.item(i);
-
-				if (!"xml:lang".equals(attr.getName()))
-					continue;
-				
-				String xmllangValue = attr.getValue();
-				int hyphenIndex = xmllangValue.indexOf('-');
-				
-				if (hyphenIndex > -1) {
-					xmllangValue = xmllangValue.substring(0, hyphenIndex);
-				}
-
-				
-				String langLanguage = lang;
-				if (lang.length() > 2) {
-					langLanguage = lang.substring(0, 2);
-				}
-				
-				return xmllangValue.equalsIgnoreCase(langLanguage);
-			}
-		}
-
-		Node parent = node.getParentNode();
-		if (parent == null)
-			return false;
-
-		return test_lang(parent, lang);
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_QMARK));
-			_expected_args.add(new SeqType(SeqType.OCC_NONE));
-		}
-
-		return _expected_args;
-	}
-		
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLast.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLast.java
deleted file mode 100644
index 70fcf69..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLast.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * Returns an xs:integer indicating the number of items in the sequence of items
- * currently being processed. If the context item is undefined, an error is
- * raised [err:FONC0001].
- */
-public class FnLast extends Function {
-	/**
-	 * Constructor for FnLast.
-	 */
-	public FnLast() {
-		super(new QName("last"), 0);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return last(args, dynamic_context());
-	}
-
-	/**
-	 * Last operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @param dc
-	 *            Result of dynamic context operation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:last operation.
-	 */
-	public static ResultSequence last(Collection args, DynamicContext dc)
-			throws DynamicError {
-		assert args.size() == 0;
-		
-		if (dc.focus() == null || dc.context_item() == null) {
-			throw DynamicError.contextUndefined();
-		}
-
-		int last = dc.last();
-
-		assert last != 0;
-
-		return ResultSequenceFactory.create_new(new XSInteger(BigInteger.valueOf(last)));
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLocalName.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLocalName.java
deleted file mode 100644
index 1482e81..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLocalName.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver - STAR - bug 262765 - fixed implementation of fn:local-name according to spec.  
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the local part of the name of $arg as an xs:string that will either
- * be the zero-length string or will have the lexical form of an xs:NCName.
- */
-public class FnLocalName extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnLocalName.
-	 */
-	public FnLocalName() {
-		super(new QName("local-name"), 0, 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return local_name(args, dynamic_context());
-	}
-
-	/**
-	 * Local-Name operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:local-name operation.
-	 */
-	public static ResultSequence local_name(Collection args, DynamicContext context)
-			throws DynamicError {
-
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get arg
-		ResultSequence arg1 = null;
-		
-		if (cargs.isEmpty()) {
-			if (context.context_item() == null)
-				throw DynamicError.contextUndefined();
-			else {
-				arg1 = ResultSequenceFactory.create_new();
-				arg1.add(context.context_item());
-			}
-		} else {
-			arg1 = (ResultSequence) cargs.iterator().next();
-
-		}
-		
-		if (arg1.empty()) {
-			rs.add(new XSString(""));
-			return rs;
-		}
-
-		NodeType an = (NodeType) arg1.first();
-		
-
-		QName name = an.node_name();
-
-		String sname = "";
-		if (name != null)
-			sname = name.local();
-
-		rs.add(new XSString(sname));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(SeqType.OCC_QMARK);
-			_expected_args.add(arg);
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLocalNameFromQName.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLocalNameFromQName.java
deleted file mode 100644
index b6942b3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLocalNameFromQName.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns an xs:NCNAME representing the local part of $arg. If $arg is the
- * empty sequence, returns the empty sequence.
- */
-public class FnLocalNameFromQName extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnLocalNameFromQName.
-	 */
-	public FnLocalNameFromQName() {
-		super(new QName("local-name-from-QName"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return local_name(args);
-	}
-
-	/**
-	 * Local-Name-from-QName operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:local-name-from-QName operation.
-	 */
-	public static ResultSequence local_name(Collection args)
-			throws DynamicError {
-
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get arg
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		if (arg1.empty())
-			return rs;
-
-		QName qname = (QName) arg1.first();
-
-		rs.add(new XSNCName(qname.local()));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(new QName(), SeqType.OCC_QMARK);
-			_expected_args.add(arg);
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLowerCase.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLowerCase.java
deleted file mode 100644
index 1a17b44..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLowerCase.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver - bug 282096 - improvements for surrogate handling  
- *     Jesper Steen Moeller - bug 282096 - clean up string storage
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * <p>
- * Conversion to lower-case function.
- * </p>
- * 
- * <p>
- * Usage: fn:lower-case($arg as xs:string?) as xs:string
- * </p>
- * 
- * <p>
- * This class returns the value of $arg after translating every character to its
- * lower-case correspondent. Every character that does not have an lower-case
- * correspondent is included in the returned value in its original form.
- * </p>
- * 
- * <p>
- * If the value of $arg is the empty sequence, the zero-length string is
- * returned.
- * </p>
- */
-public class FnLowerCase extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnLowerCase.
-	 */
-	public FnLowerCase() {
-		super(new QName("lower-case"), 1);
-	}
-
-	/**
-	 * Evaluate the arguments.
-	 * 
-	 * @param args
-	 *            are evaluated.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The evaluation of the arguments being converted to lower case.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return lower_case(args);
-	}
-
-	/**
-	 * Convert arguments to lower case.
-	 * 
-	 * @param args
-	 *            are converted to lower case.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The result of converting the arguments to lower case.
-	 */
-	public static ResultSequence lower_case(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			rs.add(new XSString(""));
-			return rs;
-		}
-
-		String str = ((XSString) arg1.first()).value();
-
-		rs.add(new XSString(str.toLowerCase()));
-
-		return rs;
-	}
-
-	/**
-	 * Calculate the expected arguments.
-	 * 
-	 * @return The expected arguments.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMatches.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMatches.java
deleted file mode 100644
index b950c42..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMatches.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver - bug 282096 - improvements for surrogate handling
- *     David Carver - bug 262765 - improvements to Regular Expression   
- *     Jesper Steen Moeller - bug 282096 - clean up string storage
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-import java.util.regex.*;
-
-/**
- * The function returns true if $input matches the regular expression supplied
- * as $pattern as influenced by the value of $flags, if present; otherwise, it
- * returns false.
- */
-public class FnMatches extends AbstractRegExFunction {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnMatches.
-	 */
-	public FnMatches() {
-		super(new QName("matches"), 2, 3);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return matches(args);
-	}
-
-	/**
-	 * Matches operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:matches operation.
-	 */
-	public static ResultSequence matches(Collection args) throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get args
-		Iterator argiter = cargs.iterator();
-		ResultSequence arg1 = (ResultSequence) argiter.next();
-		String str1 = "";
-		if (!arg1.empty()) {
-			str1 = ((XSString) arg1.first()).value();
-		}
-
-		ResultSequence arg2 = (ResultSequence) argiter.next();
-		String pattern = ((XSString) arg2.first()).value();
-		String flags = null;
-
-		if (argiter.hasNext()) {
-			ResultSequence flagRS = null;
-			flagRS = (ResultSequence) argiter.next();
-			flags = flagRS.first().string_value();
-			if (validflags.indexOf(flags) == -1 && flags.length() > 0 ) {
-				throw DynamicError.regex_flags_error(null);
-			}
-		}
-
-		try {
-			boolean result = false;
-			result = matches(pattern, flags, str1);
-			rs.add(new XSBoolean(result));
-			return rs;
-		} catch (PatternSyntaxException pex) {
-			throw DynamicError.regex_error(pex.getMessage());
-		}
-	}
-	
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
-			_expected_args.add(arg);
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMax.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMax.java
deleted file mode 100644
index 826fb36..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMax.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Moller - bug 280555 - Add pluggable collation support
- *     David Carver (STAR) - bug 262765 - fixed promotion issue
- *     Jesper Moller - bug 281028 - fix promotion rules for fn:max
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.ComparableTypePromoter;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.TypePromoter;
-
-/**
- * Selects an item from the input sequence $arg whose value is greater than or
- * equal to the value of every other item in the input sequence. If there are
- * two or more such items, then the specific item whose value is returned is
- * implementation dependent.
- */
-public class FnMax extends Function {
-	/**
-	 * Constructor for FnMax.
-	 */
-	public FnMax() {
-		super(new QName("max"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return max(args, dynamic_context());
-	}
-
-	/**
-	 * Max operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @param context 
-	 *            Relevant dynamic context
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:max operation.
-	 */
-	public static ResultSequence max(Collection args, DynamicContext context) throws DynamicError {
-
-		ResultSequence arg = get_arg(args, CmpGt.class);
-		if (arg.empty())
-			return ResultSequenceFactory.create_new();
-
-		CmpGt max = null;
-
-		TypePromoter tp = new ComparableTypePromoter();
-		tp.considerSequence(arg);
-
-		for (Iterator i = arg.iterator(); i.hasNext();) {
-			AnyAtomicType conv = tp.promote((AnyType) i.next());
-			
-			if (conv instanceof XSDouble && ((XSDouble)conv).nan() || conv instanceof XSFloat && ((XSFloat)conv).nan()) {
-				return ResultSequenceFactory.create_new(tp.promote(new XSFloat(Float.NaN)));
-			}
-			if (max == null || ((CmpGt)conv).gt((AnyType)max, context)) {
-				max = (CmpGt)conv;
-			}
-		}
-		return ResultSequenceFactory.create_new((AnyType) max);
-	}
-
-	/**
-	 * Obtain arguments.
-	 * 
-	 * @param args
-	 *            input expressions.
-	 * @param op
-	 *            input class.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of operation.
-	 */
-	public static ResultSequence get_arg(Collection args, Class op)
-			throws DynamicError {
-		assert args.size() == 1;
-
-		ResultSequence arg = (ResultSequence) args.iterator().next();
-
-		return arg;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMin.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMin.java
deleted file mode 100644
index d243075..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMin.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Moller - bug 280555 - Add pluggable collation support
- *     David Carver (STAR) - bug 262765 - fixed promotion issue 
- *     Jesper Moller - bug 281028 - fix promotion rules for fn:min
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.ComparableTypePromoter;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.TypePromoter;
-
-/**
- * selects an item from the input sequence $arg whose value is less than or
- * equal to the value of every other item in the input sequence. If there are
- * two or more such items, then the specific item whose value is returned is
- * implementation independent.
- */
-public class FnMin extends Function {
-	/**
-	 * Constructor for FnMin.
-	 */
-	public FnMin() {
-		super(new QName("min"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return min(args, dynamic_context());
-	}
-
-	/**
-	 * Min operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @param dynamic 
-	 *            Dynamic context
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:min operation.
-	 */
-	public static ResultSequence min(Collection args, DynamicContext context) throws DynamicError {
-
-		ResultSequence arg = FnMax.get_arg(args, CmpLt.class);
-		if (arg.empty())
-			return ResultSequenceFactory.create_new();
-
-		CmpLt max = null;
-
-		TypePromoter tp = new ComparableTypePromoter();
-		tp.considerSequence(arg);
-
-		for (Iterator i = arg.iterator(); i.hasNext();) {
-			AnyAtomicType conv = tp.promote((AnyType) i.next());
-			
-			if (conv instanceof XSDouble && ((XSDouble)conv).nan() || conv instanceof XSFloat && ((XSFloat)conv).nan()) {
-				return ResultSequenceFactory.create_new(tp.promote(new XSFloat(Float.NaN)));
-			}
-			if (max == null || ((CmpLt)conv).lt((AnyType)max, context)) {
-				max = (CmpLt)conv;
-			}
-		}
-		return ResultSequenceFactory.create_new((AnyType) max);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMinutesFromDateTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMinutesFromDateTime.java
deleted file mode 100644
index 65e3f48..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMinutesFromDateTime.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * Returns an xs:integer value between 0 and 59, both inclusive, representing
- * the minute component in the localized value of $arg. If $arg is the empty
- * sequence, returns the empty sequence.
- */
-public class FnMinutesFromDateTime extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnMinutesFromDateTime.
-	 */
-	public FnMinutesFromDateTime() {
-		super(new QName("minutes-from-dateTime"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return minutes_from_date_time(args);
-	}
-
-	/**
-	 * Minutes-from-DateTime operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:minutes-from-dateTime operation.
-	 */
-	public static ResultSequence minutes_from_date_time(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			return rs;
-		}
-
-		XSDateTime dt = (XSDateTime) arg1.first();
-
-		int res = dt.minute();
-
-		rs.add(new XSInteger(BigInteger.valueOf(res)));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args
-					.add(new SeqType(new XSDateTime(), SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMinutesFromDuration.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMinutesFromDuration.java
deleted file mode 100644
index b817260..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMinutesFromDuration.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- *     David Carver (STAR) - bug 282223 - implementation of xs:duration
- *     David Carver (STAR) - bug 262765 - fixed expected args for fnMinutesFromDuration 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * Returns an xs:integer representing the minutes component in the canonical
- * lexical representation of the value of $arg. The result may be negative. If
- * $arg is the empty sequence, returns the empty sequence.
- */
-public class FnMinutesFromDuration extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnMinutesFromDuration.
-	 */
-	public FnMinutesFromDuration() {
-		super(new QName("minutes-from-duration"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return minutes_from_duration(args);
-	}
-
-	/**
-	 * Minutes-from-Duration operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:minutes-from-duration operation.
-	 */
-	public static ResultSequence minutes_from_duration(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			return rs;
-		}
-
-		XSDuration dtd = (XSDuration) arg1.first();
-
-		int res = dtd.minutes();
-
-		if (dtd.negative())
-			res *= -1;
-
-		rs.add(new XSInteger(BigInteger.valueOf(res)));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSDuration(),
-					SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMinutesFromTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMinutesFromTime.java
deleted file mode 100644
index b467f80..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMinutesFromTime.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * Returns an xs:integer value between 0 to 59, both inclusive, representing the
- * value of the minutes component in the localized value of $arg. If $arg is the
- * empty sequence, returns the empty sequence.
- */
-public class FnMinutesFromTime extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnMinutesFromTime.
-	 */
-	public FnMinutesFromTime() {
-		super(new QName("minutes-from-time"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return minutes_from_time(args);
-	}
-
-	/**
-	 * Minutes-from-Time operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:minutes-from-time operation.
-	 */
-	public static ResultSequence minutes_from_time(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			return rs;
-		}
-
-		XSTime dt = (XSTime) arg1.first();
-
-		int res = dt.minute();
-
-		rs.add(new XSInteger(BigInteger.valueOf(res)));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSTime(), SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMonthFromDate.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMonthFromDate.java
deleted file mode 100644
index 15dd087..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMonthFromDate.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * Returns an xs:integer between 1 and 12, both inclusive, representing the
- * month component in the localized value of $arg. If $arg is the empty
- * sequence, returns the empty sequence.
- */
-public class FnMonthFromDate extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnMonthFromDate.
-	 */
-	public FnMonthFromDate() {
-		super(new QName("month-from-date"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return month_from_date(args);
-	}
-
-	/**
-	 * Month-from-Date operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:month-from-date operation.
-	 */
-	public static ResultSequence month_from_date(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			return rs;
-		}
-
-		XSDate dt = (XSDate) arg1.first();
-
-		int res = dt.month();
-
-		rs.add(new XSInteger(BigInteger.valueOf(res)));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSDate(), SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMonthFromDateTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMonthFromDateTime.java
deleted file mode 100644
index bc8ff6d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMonthFromDateTime.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 274805 - improvements to xs:integer data type
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * Returns an xs:integer between 1 and 12, both inclusive, representing the
- * month component in the localized value of $arg. If $arg is the empty
- * sequence, returns the empty sequence.
- */
-public class FnMonthFromDateTime extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnMonthFromDateTime.
-	 */
-	public FnMonthFromDateTime() {
-		super(new QName("month-from-dateTime"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return month_from_date_time(args);
-	}
-
-	/**
-	 * Month-from-DateTime operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:month-from-dateTime operation.
-	 */
-	public static ResultSequence month_from_date_time(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			return rs;
-		}
-
-		XSDateTime dt = (XSDateTime) arg1.first();
-
-		int res = dt.month();
-
-		rs.add(new XSInteger(BigInteger.valueOf(res)));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args
-					.add(new SeqType(new XSDateTime(), SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMonthsFromDuration.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMonthsFromDuration.java
deleted file mode 100644
index f427bb8..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMonthsFromDuration.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- *     Mukul Gandhi - bug 274805 - improvements to xs:integer data type
- *     David Carver - bug 282223 - implementation of xs:duration. 
- *     David Carver (STAR) - bug 262765 - fixed expected xs:duration argument
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * Returns an xs:integer representing the months component in the canonical
- * lexical representation of the value of $arg. The result may be negative. If
- * $arg is the empty sequence, returns the empty sequence.
- */
-public class FnMonthsFromDuration extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnMonthsFromDuration.
-	 */
-	public FnMonthsFromDuration() {
-		super(new QName("months-from-duration"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return months_from_duration(args);
-	}
-
-	/**
-	 * Months-from-Duration operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:months-from-duration operation.
-	 */
-	public static ResultSequence months_from_duration(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			return rs;
-		}
-
-		XSDuration ymd = (XSDuration) arg1.first();
-
-		int res = ymd.month();
-
-		if (ymd.negative())
-			res *= -1;
-
-		rs.add(new XSInteger(BigInteger.valueOf(res)));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSDuration(),
-					SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnName.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnName.java
deleted file mode 100644
index 35a14fa..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnName.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver - STAR - bug 262765 - Fixed arguments for Name function. 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the name of a node, as an xs:string that is either the zero-length
- * string, or has the lexical form of an xs:QName.
- */
-public class FnName extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnName.
-	 */
-	public FnName() {
-		super(new QName("name"), 0, 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return name(args);
-	}
-
-	/**
-	 * Name operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:name operation.
-	 */
-	public static ResultSequence name(Collection args) throws DynamicError {
-
-		if (args.isEmpty()) {
-			throw DynamicError.contextUndefined();
-		}
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get arg
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		if (arg1.empty()) {
-			rs.add(new XSString(""));
-			return rs;
-		}
-
-		NodeType an = (NodeType) arg1.first();
-
-		QName name = an.node_name();
-
-		String sname = "";
-		if (name != null)
-			sname = name.string();
-
-		rs.add(new XSString(sname));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(SeqType.OCC_QMARK);
-			_expected_args.add(arg);
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNamespaceUri.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNamespaceUri.java
deleted file mode 100644
index 95e1557..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNamespaceUri.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver - bug 262765 - corrected implementation according to spec. 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the namespace URI of the xs:QName of $arg.
- */
-public class FnNamespaceUri extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnNamespaceUri.
-	 */
-	public FnNamespaceUri() {
-		super(new QName("namespace-uri"), 0, 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return namespace_uri(args, dynamic_context());
-	}
-
-	/**
-	 * Namespace-Uri operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:namespace-uri operation.
-	 */
-	public static ResultSequence namespace_uri(Collection args,
-			DynamicContext context) throws DynamicError {
-
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-		ResultSequence arg1 = null;
-		if (cargs.isEmpty()) {
-			if (context.context_item() == null) {
-				throw DynamicError.contextUndefined();
-			}
-			arg1 = ResultSequenceFactory.create_new();
-			arg1.add(context.context_item());
-		} else {
-			// get arg
-			arg1 = (ResultSequence) cargs.iterator().next();
-		}
-
-		if (arg1.empty()) {
-			rs.add(new XSAnyURI(""));
-			return rs;
-		}
-
-		NodeType an = (NodeType) arg1.first();
-
-		QName name = an.node_name();
-
-		String sname = "";
-		if (name != null)
-			sname = name.namespace();
-
-		rs.add(new XSAnyURI(sname));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(SeqType.OCC_QMARK);
-			_expected_args.add(arg);
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNamespaceUriFromQName.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNamespaceUriFromQName.java
deleted file mode 100644
index 25711c3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNamespaceUriFromQName.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the namespace URI for $arg as an xs:string. If $arg is the empty
- * sequence, the empty sequence is returned. If $arg is in no namespace, the
- * zero-length string is returned.
- */
-public class FnNamespaceUriFromQName extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnNamespaceUriFromQName.
-	 */
-	public FnNamespaceUriFromQName() {
-		super(new QName("namespace-uri-from-QName"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return namespace(args);
-	}
-
-	/**
-	 * Namespace-uri-from-QName operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:namespace-uri-from-QName operation.
-	 */
-	public static ResultSequence namespace(Collection args) throws DynamicError {
-
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get arg
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		if (arg1.empty())
-			return rs;
-
-		QName qname = (QName) arg1.first();
-
-		String ns = qname.namespace();
-
-		if (ns == null)
-			ns = "";
-		rs.add(new XSAnyURI(ns));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(new QName(), SeqType.OCC_QMARK);
-			_expected_args.add(arg);
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNilled.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNilled.java
deleted file mode 100644
index 4377c0a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNilled.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns an xs:boolean indicating whether the argument node is "nilled". If
- * the argument is not an element node, returns the empty sequence.
- */
-public class FnNilled extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnNilled.
-	 */
-	public FnNilled() {
-		super(new QName("nilled"), 0, 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return nilled(args);
-	}
-
-	/**
-	 * Nilled operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:nilled operation.
-	 */
-	public static ResultSequence nilled(Collection args) throws DynamicError {
-		
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-		if (arg1.empty()) {
-			return arg1;
-		}
-		NodeType nt = (NodeType) arg1.first();
-		
-		return nt.nilled();
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNodeName.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNodeName.java
deleted file mode 100644
index 37c530d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNodeName.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns an expanded-QName for node kinds that can have names. For other kinds
- * of nodes it returns the empty sequence. If $arg is the empty sequence, the
- * empty sequence is returned.
- */
-public class FnNodeName extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnNodeName.
-	 */
-	public FnNodeName() {
-		super(new QName("node-name"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return node_name(args);
-	}
-
-	/**
-	 * Node-Name operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:node-name operation.
-	 */
-	public static ResultSequence node_name(Collection args) throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-		if (arg1.empty())
-			return rs;
-
-		NodeType nt = (NodeType) arg1.first();
-
-		QName nodename = nt.node_name();
-		if (nodename == null)
-			return rs;
-
-		rs.add(nodename);
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNormalizeSpace.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNormalizeSpace.java
deleted file mode 100644
index e306924..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNormalizeSpace.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 274471 - improvements to normalize-space function (support for arity 0)
- *     David Carver (STAR) - bug 262765 - correct implementation to correctly get context node 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *     Jesper Steen Moller  - bug 281938 - handle context and empty sequences correctly
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * <p>
- * Function to normalize whitespace.
- * </p>
- * 
- * <p>
- * Usage: fn:normalize-space($arg as xs:string?) as xs:string
- * </p>
- * 
- * <p>
- * This class returns the value of $arg with whitespace normalized by stripping
- * leading and trailing whitespace and replacing sequences of one or more than
- * one whitespace character with a single space, #x20.
- * </p>
- * 
- * <p>
- * The whitespace characters are defined as TAB (#x9), LINE FEED (#xA), CARRIAGE
- * RETURN (#xD) and SPACE (#x20). If the value of $arg is the empty sequence,
- * the class returns the zero-length string.
- * </p>
- */
-public class FnNormalizeSpace extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnNormalizeSpace.
-	 */
-	public FnNormalizeSpace() {
-		super(new QName("normalize-space"), 0, 1);
-	}
-
-	/**
-	 * Evaluate the arguments.
-	 * 
-	 * @param args
-	 *            are evaluated.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The evaluation of the space in the arguments being normalized.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return normalize_space(args, dynamic_context());
-	}
-
-	/**
-	 * Normalize space in the arguments.
-	 * 
-	 * @param args
-	 *            are used to obtain space from, in order to be normalized.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The result of normalizing the space in the arguments.
-	 */
-	public static ResultSequence normalize_space(Collection args, DynamicContext d_context)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = null;
-		
-		if (cargs.isEmpty()) {
-		  // support for arity = 0
-		  arg1 = getResultSetForArityZero(d_context);
-		}
-		else {
-		  arg1 = (ResultSequence) cargs.iterator().next();
-		}
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-		String str = "";
-		if (! arg1.empty()) {
-			str = ((XSString) arg1.first()).value();
-		} 
-		rs.add(new XSString(normalize(str)));
-		return rs;
-	}
-
-	/**
-	 * The normalizing process.
-	 * 
-	 * @param str
-	 *            is the string that space will be normalized in.
-	 * @return The result of the normalizing operation.
-	 */
-	// XXX fix this
-	public static String normalize(String str) {
-		StringBuffer sb = new StringBuffer();
-
-		int state = 0; // 0 begin
-		// 1 middle
-		// 2 end
-		// 3 skipping
-
-		for (int i = 0; i < str.length(); i++) {
-			char x = str.charAt(i);
-
-			boolean white = is_whitespace(x);
-
-			switch (state) {
-			// doing the beginning
-			case 0:
-				if (white)
-					continue;
-				else {
-					sb.append(x);
-					state = 1;
-				}
-				break;
-
-			// doing the middle
-			case 1:
-				if (white) {
-					state = 3;
-					sb.append(' ');
-				} else
-					sb.append(x);
-				break;
-
-			case 3:
-				if (!white) {
-					state = 1;
-					sb.append(x);
-				}
-				break;
-
-			default:
-				assert false;
-			}
-		}
-
-		// now basically we can only have a whitespace at the end...
-		String result = sb.toString();
-		int len = result.length();
-
-		if (len == 0)
-			return result;
-		if (result.charAt(len - 1) == ' ')
-			return result.substring(0, len - 1);
-
-		return result;
-	}
-
-	/**
-	 * Determine whether a character is whitespace or not.
-	 * 
-	 * @param x
-	 *            is the character this operation will take place on.
-	 * @return Whether or not the character is whitespace.
-	 */
-	public static boolean is_whitespace(char x) {
-		switch (x) {
-		case ' ':
-		case '\r':
-		case '\t':
-		case '\n':
-			return true;
-		default:
-			return false;
-		}
-	}
-
-	/**
-	 * Calculate the expected arguments.
-	 * 
-	 * @return The expected arguments.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNormalizeUnicode.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNormalizeUnicode.java
deleted file mode 100644
index f52a0ca..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNormalizeUnicode.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Jesper Steen Moeller, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Jesper Steen Moeller - bug 285152 - implement fn:normalize-unicocde
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import com.ibm.icu.text.Normalizer;
-
-/**
- * <p>
- * Function to normalize unicode.
- * </p>
- * 
- * <p>
- * Usage: fn:normalize-unicode($arg as xs:string?) as xs:string
- * or fn:normalize-unicode($arg as xs:string?, $normalization-form as xs:string) as xs:string
- * </p>
- * 
- * <p>
- * This function returns the normalized value of the first argument in the normalization form specified by the second argument.
- * </p>
- * 
- */
-public class FnNormalizeUnicode extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnNormalizeUnicode
-	 */
-	public FnNormalizeUnicode() {
-		super(new QName("normalize-unicode"), 1, 2);
-	}
-
-	public interface W3CNormalizer {
-		String normalize(String argument, String normalizationForm) throws DynamicError;
-	};
-	
-	static class ICUNormalizer implements W3CNormalizer {
-		
-		public String normalize(String argument, String normalizationForm)
-				throws DynamicError {
-			if (normalizationForm.equals("NFC")) {
-				return Normalizer.normalize(argument, Normalizer.NFC);
-			} else if (normalizationForm.equals("NFD")) {
-				return Normalizer.normalize(argument, Normalizer.NFD);
-			} else if (normalizationForm.equals("NFKC")) {
-				return Normalizer.normalize(argument, Normalizer.NFKC);
-			} else if (normalizationForm.equals("NFKD")) {
-				return Normalizer.normalize(argument, Normalizer.NFKD);
-//			} else if (normalizationForm.equals("FULLY-NORMALIZED")) {
-//				String normalized_but_possibly_partial = Normalizer.normalize(argument, Normalizer.NFC);
-				// XXX: Check to see that the string starts with a modifier, and, if required, neutralize it to its composed equivalent
-//				return normalized_but_possibly_partial;
-			} else {
-				throw DynamicError.unsupported_normalization_form(normalizationForm);
-			}
-		}
-	}
-	
-	/**
-	 * Evaluate the arguments.
-	 * 
-	 * @param args
-	 *            are evaluated.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The evaluation of the space in the arguments being normalized.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return normalize_unicode(args, dynamic_context());
-	}
-
-	/**
-	 * Normalize unicode codepoints in the argument.
-	 * 
-	 * @param args
-	 *            are used to obtain the input string and optionally the normalization type from.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The result of normalizing the space in the arguments.
-	 */
-	public static ResultSequence normalize_unicode(Collection args, DynamicContext d_context)
-			throws DynamicError {
-		assert args.size() >= 1 && args.size() <= 2;
-
-		Collection cargs = Function.convert_arguments(args, expected_args());
-		
-		Iterator cargsIterator = cargs.iterator();
-		ResultSequence arg1 = (ResultSequence) cargsIterator.next();
-
-
-		String normalizationType = "NFC";
-		if (cargsIterator.hasNext()) {
-			ResultSequence arg2 = (ResultSequence)cargsIterator.next();
-			// Trim and convert to upper as per the spec
-			if (arg2.empty()) {
-				normalizationType = "";
-			} else {
-				normalizationType = ((XSString) arg2.first()).value().trim().toUpperCase();
-			}
-		}
-		
-		String argument = "";
-		if (! arg1.empty()) argument = ((XSString) arg1.first()).value();
-				
-		ResultSequence rs = ResultSequenceFactory.create_new();
-		String normalized = normalizationType.equals("") ? argument : getNormalizer().normalize(argument, normalizationType);
-		rs.add(new XSString(normalized));
-		
-		return rs;
-	}
-
-	private static W3CNormalizer getNormalizer() {
-		return new ICUNormalizer();
-	}
-
-	/**
-	 * Calculate the expected arguments.
-	 * 
-	 * @return The expected arguments.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_QMARK));
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNot.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNot.java
deleted file mode 100644
index 5214283..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNot.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *     Jesper Steen Moller  - bug 262765 - propagate possible errors from xs:boolean
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * $arg is first reduced to an effective boolean value by applying the
- * fn:boolean() function. Returns true if the effective boolean value is false,
- * and false if the effective boolean value is true.
- */
-public class FnNot extends Function {
-	/**
-	 * Constructor for FnNot.
-	 */
-	public FnNot() {
-		super(new QName("not"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @return Result of evaluation.
-	 * @throws DynamicError 
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		// 1 argument only!
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		ResultSequence argument = (ResultSequence) args.iterator().next();
-
-		return fn_not(argument);
-	}
-
-	/**
-	 * Not operation.
-	 * 
-	 * @param arg
-	 *            Result from the expressions evaluation.
-	 * @return Result of fn:note operation.
-	 * @throws DynamicError 
-	 */
-	public static ResultSequence fn_not(ResultSequence arg) throws DynamicError {
-		XSBoolean ret = FnBoolean.fn_boolean(arg);
-
-		boolean answer = false;
-
-		if (ret.value() == false)
-			answer = true;
-
-		return ResultSequenceFactory.create_new(new XSBoolean(answer));
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNumber.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNumber.java
deleted file mode 100644
index 09a79c5..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNumber.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *     Jesper Steen Moeller - bug 262765 - fixes float handling for fn:number 
- *     Mukul Gandhi - bug 298519 - improvements to fn:number implementation,
- *                                 catering to node arguments. 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the value indicated by $arg or, if $arg is not specified, the context
- * item after atomization, converted to an xs:double. If $arg or the context
- * item cannot be converted to an xs:double, the xs:double value NaN is
- * returned. If the context item is undefined an error is raised:
- * [err:FONC0001].
- */
-public class FnNumber extends Function {
-	/**
-	 * Constructor for FnNumber.
-	 */
-	public FnNumber() {
-		super(new QName("number"), 0, 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		ResultSequence argument = null;
-		if (args.isEmpty()) {
-			argument = getResultSetForArityZero(dynamic_context());
-		} else {
-			argument = (ResultSequence) args.iterator().next();
-		}
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-		rs.add(fn_number(argument, dynamic_context()));
-		return rs;
-	}
-
-	/**
-	 * Number operation.
-	 * 
-	 * @param arg
-	 *            Result from the expressions evaluation.
-	 * @param dc
-	 *            Result of dynamic context operation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:number operation.
-	 */
-	public static XSDouble fn_number(ResultSequence arg, DynamicContext dc)
-			throws DynamicError {
-
-		if (arg.size() > 1) {
-			throw new DynamicError(TypeError.invalid_type("bad argument passed to fn:number()"));
-		} else if (arg.size() == 1) {
-			AnyType at = arg.first();
-
-			/*
-			if (!(at instanceof AnyAtomicType))
-				DynamicError.throw_type_error();
-			*/
-			
-			if (at instanceof AnyAtomicType) {
-			  if ((at instanceof XSDouble)) {
-				 return (XSDouble)at;
-			  } else if ((at instanceof XSFloat)) {
-				  float value = ((XSFloat)at).float_value();
-				  if (Float.isNaN(value)) {
-					  return new XSDouble(Double.NaN);
-				  } else if (value == Float.NEGATIVE_INFINITY) {
-					  return new XSDouble(Double.NEGATIVE_INFINITY);
-				  } else if (value == Float.POSITIVE_INFINITY) {
-					  return new XSDouble(Double.POSITIVE_INFINITY);
-				  } else {
-					  return new XSDouble((double)value); 
-				  }
-			  } else {
-				 XSDouble d = XSDouble.parse_double(at.string_value());
-				 return d != null ? d : new XSDouble(Double.NaN);
-			  }
-			}
-			else if (at instanceof NodeType) {
-				XSDouble d = XSDouble.parse_double((FnData.atomize(at)).string_value());
-				return d != null ? d : new XSDouble(Double.NaN);
-			}
-		} else {
-			return new XSDouble(Double.NaN);
-		}
-		
-		// unreach
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnOneOrMore.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnOneOrMore.java
deleted file mode 100644
index 9e03bdc..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnOneOrMore.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns $arg if it contains one or more items. Otherwise, raises an error
- * [err:FORG0004]. The type of the result depends on the type of $arg.
- */
-public class FnOneOrMore extends Function {
-	/**
-	 * Constructor for FnOneOrMore.
-	 */
-	public FnOneOrMore() {
-		super(new QName("one-or-more"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return one_or_more(args);
-	}
-
-	/**
-	 * One-or-More operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:one-or-more operation.
-	 */
-	public static ResultSequence one_or_more(Collection args)
-			throws DynamicError {
-
-		assert args.size() == 1;
-
-		// get args
-		Iterator citer = args.iterator();
-		ResultSequence arg = (ResultSequence) citer.next();
-
-		if (arg.empty())
-			throw DynamicError.empty_seq(null);
-
-		return arg;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnPosition.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnPosition.java
deleted file mode 100644
index f6b7ca3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnPosition.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 274805 - improvements to xs:integer data type 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * Returns an xs:integer indicating the position of the context item within the
- * sequence of items currently being processed. If the context item is
- * undefined, an error is raised [err:FONC0001].
- */
-public class FnPosition extends Function {
-	/**
-	 * Constructor for FnPosition.
-	 */
-	public FnPosition() {
-		super(new QName("position"), 0);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return position(args, dynamic_context());
-	}
-
-	/**
-	 * Position operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @param dc
-	 *            Result of dynamic context operation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:position operation.
-	 */
-	public static ResultSequence position(Collection args, DynamicContext dc)
-			throws DynamicError {
-		assert args.size() == 0;
-
-		if (dc.focus().context_item() == null) {
-			throw DynamicError.contextUndefined();
-		}
-		
-		return ResultSequenceFactory.create_new(new XSInteger(BigInteger.valueOf(dc
-				.context_position())));
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnPrefixFromQName.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnPrefixFromQName.java
deleted file mode 100644
index b3d9385..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnPrefixFromQName.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Mukul Gandhi - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns an xs:NCName representing the prefix for $arg. If $arg is the empty
- * sequence, or $arg has no prefix, an empty sequence is returned.
- */
-public class FnPrefixFromQName extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnPrefixFromQName
-	 */
-	public FnPrefixFromQName() {
-		super(new QName("prefix-from-QName"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return prefix(args, _fl.dynamic_context());
-	}
-
-	/**
-	 * Prefix-from-QName operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:prefix-from-QName operation.
-	 */
-	public static ResultSequence prefix(Collection args, DynamicContext dc) throws DynamicError {
-
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get arg
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		if (arg1.empty())
-		  return rs;
-
-		QName qname = (QName) arg1.first();
-
-		String prefix = qname.prefix();
-		
-
-		if (prefix != null) {
-			if (dc.prefix_exists(prefix)) {
-				  rs.add(new XSNCName(prefix));
-			} else {
-				throw DynamicError.invalidPrefix();
-			}
-		} 
-
-		return rs;
-	}
-	
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(new QName(), SeqType.OCC_QMARK);
-			_expected_args.add(arg);
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnQName.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnQName.java
deleted file mode 100644
index 9e0827a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnQName.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.StaticContext;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns an xs:QName with the namespace URI given in $paramURI. If $paramURI
- * is the empty string or the empty sequence, it represents "no namespace". The
- * prefix (or absence of a prefix) in $paramQName is retained in the returned
- * xs:QName value. The local name in the result is taken from the local part of
- * $paramQName.
- */
-public class FnQName extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnQName.
-	 */
-	public FnQName() {
-		super(new QName("QName"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return resolve_QName(args, static_context());
-	}
-
-	/**
-	 * Resolve the QName of the given arguments.
-	 * 
-	 * @param args
-	 *            Result from teh expressions evaluation.
-	 * @param sc
-	 *            Result of static context operation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the fn:QName operation.
-	 */
-	public static ResultSequence resolve_QName(Collection args, StaticContext sc)
-			throws DynamicError {
-
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get args
-		Iterator argiter = cargs.iterator();
-		ResultSequence arg1 = (ResultSequence) argiter.next();
-
-		String ns = null;
-		if (!arg1.empty())
-			ns = ((XSString) arg1.first()).value();
-		ResultSequence arg2 = (ResultSequence) argiter.next();
-		String name = ((XSString) arg2.first()).value();
-
-		QName qn = QName.parse_QName(name);
-		if (qn == null)
-			throw DynamicError.lexical_error(null);
-		qn.set_namespace(ns);
-
-		rs.add(qn);
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
-			_expected_args.add(arg);
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRemove.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRemove.java
deleted file mode 100644
index 110b1c2..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRemove.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 274805 - improvements to xs:integer data type 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns a new sequence constructed from the value of $target with the item at
- * the position specified by the value of $position removed. If $position is
- * less than 1 or greater than the number of items in $target, $target is
- * returned. Otherwise, the value returned by the function consists of all items
- * of $target whose index is less than $position, followed by all items of
- * $target whose index is greater than $position. If $target is the empty
- * sequence, the empty sequence is returned.
- */
-public class FnRemove extends Function {
-	/**
-	 * Constructor for FnRemove.
-	 */
-	public FnRemove() {
-		super(new QName("remove"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return remove(args);
-	}
-
-	/**
-	 * Remove operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:remove operation.
-	 */
-	public static ResultSequence remove(Collection args) throws DynamicError {
-
-		assert args.size() == 2;
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get args
-		Iterator citer = args.iterator();
-		ResultSequence target = (ResultSequence) citer.next();
-		ResultSequence arg2 = (ResultSequence) citer.next();
-
-		// sanity chex
-		if (arg2.size() != 1)
-			DynamicError.throw_type_error();
-
-		AnyType at = arg2.first();
-		if (!(at instanceof XSInteger))
-			DynamicError.throw_type_error();
-
-		int position = ((XSInteger) at).int_value().intValue();
-
-		if (position < 1)
-			return target;
-
-		if (position > target.size())
-			return target;
-
-		if (target.empty())
-			return rs;
-
-		int curpos = 1;
-
-		for (Iterator i = target.iterator(); i.hasNext();) {
-			at = (AnyType) i.next();
-
-			if (curpos != position)
-				rs.add(at);
-
-			curpos++;
-		}
-
-		return rs;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnReplace.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnReplace.java
deleted file mode 100644
index bbe3450..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnReplace.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver (STAR) - bug 262765 - added exception handling to toss correct error numbers. 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-import java.util.regex.*;
-
-/**
- * The function returns the xs:string that is obtained by replacing each
- * non-overlapping substring of $input that matches the given $pattern with an
- * occurrence of the $replacement string.
- */
-public class FnReplace extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for RnReplace.
-	 */
-	public FnReplace() {
-		super(new QName("replace"), 3, 4);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return replace(args);
-	}
-
-	/**
-	 * Replace operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:replace operation.
-	 */
-	public static ResultSequence replace(Collection args) throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get args
-		Iterator argiter = cargs.iterator();
-		ResultSequence arg1 = (ResultSequence) argiter.next();
-		String str1 = "";
-		if (!arg1.empty())
-			str1 = ((XSString) arg1.first()).value();
-
-		ResultSequence arg2 = (ResultSequence) argiter.next();
-		ResultSequence arg3 = (ResultSequence) argiter.next();
-		ResultSequence arg4 = null;
-		if (argiter.hasNext()) {
-			arg4 = (ResultSequence) argiter.next();
-			String flags = arg4.first().string_value();
-			
-			if (flags.length() == 0) {
-				arg4 = null;
-			} else if (isFlagValid(flags) == false) {
-				throw new DynamicError("FORX0001", "Invalid regular expression. flags");
-			}
-		}
-		String pattern = ((XSString) arg2.first()).value();
-		String replacement = ((XSString) arg3.first()).value();
-		
-		try {
-			rs.add(new XSString(str1.replaceAll(pattern, replacement)));
-			return rs; 
-		} catch (PatternSyntaxException err) {
-			throw DynamicError.regex_error(null);
-		} catch (IllegalArgumentException ex) {
-			throw new DynamicError("FORX0004", "invalid regex.");
-		} catch (IndexOutOfBoundsException ex) {
-			String className = ex.getClass().getName();
-			if (className.endsWith("StringIndexOutOfBoundsException")) {
-				throw new DynamicError("FORX0004", "result out of bounds");
-			}
-			throw new DynamicError("FORX0003", "invalid regex.");
-		} catch (Exception ex) {
-			throw new DynamicError("FORX0004", "invalid regex.");
-		}
-	}
-	
-	private static boolean isFlagValid(String flag) {
-		char flags[] = {'s', 'm', 'i', 'x'};
-		
-		for (int i = 0; i < flags.length; i++) {
-			if (flag.indexOf(flags[i]) != -1) {
-				return true;
-			}
-		}
-		
-		return false;
-	}
-	
-	
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
-			_expected_args.add(arg);
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnResolveQName.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnResolveQName.java
deleted file mode 100644
index 0341601..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnResolveQName.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     David Carver (STAR) - bug 288886 - add unit tests and fix fn:resolve-qname function
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.StaticContext;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-import org.w3c.dom.Element;
-
-import java.util.*;
-
-/**
- * Returns an xs:QName value (that is, an expanded-QName) by taking an xs:string
- * that has the lexical form of an xs:QName (a string in the form
- * "prefix:local-name" or "local-name") and resolving it using the in-scope
- * namespaces for a given element.
- */
-public class FnResolveQName extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnResolveQName.
-	 */
-	public FnResolveQName() {
-		super(new QName("resolve-QName"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return resolve_QName(args, static_context());
-	}
-
-	/**
-	 * Resolve-QName operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @param sc
-	 *            Result of static context operation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:resolve-QName operation.
-	 */
-	public static ResultSequence resolve_QName(Collection args, StaticContext sc)
-			throws DynamicError {
-
-		//Collection cargs = Function.convert_arguments(args, expected_args());
-		Collection cargs = args;
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get args
-		Iterator argiter = cargs.iterator();
-		ResultSequence arg1 = (ResultSequence) argiter.next();
-
-		if (arg1.empty())
-			return rs;
-		
-		ResultSequence arg2 = (ResultSequence) argiter.next();
-
-		String name = ((XSString) arg1.first()).value();
-
-		QName qn = QName.parse_QName(name);
-
-		if (qn == null)
-			throw DynamicError.lexical_error(null);
-
-		ElementType xselement = (ElementType) arg2.first();
-		Element element = (Element) xselement.node_value();
-
-		if (qn.prefix() != null) {
-			String namespaceURI = element.lookupNamespaceURI(qn.prefix());
-			
-			if (namespaceURI == null) {
-				throw DynamicError.invalidPrefix();
-			}
-			qn.set_namespace(namespaceURI);
-		} else {
-			if (qn.local().equals(element.getLocalName()) && element.isDefaultNamespace(element.getNamespaceURI())) {
-				qn.set_namespace(element.getNamespaceURI());
-			}
-		}
-		
-
-		rs.add(qn);
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
-			_expected_args.add(arg);
-			_expected_args
-					.add(new SeqType(new ElementType(), SeqType.OCC_NONE));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnResolveURI.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnResolveURI.java
deleted file mode 100644
index 7a4ef61..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnResolveURI.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-import java.net.URI;
-import java.util.*;
-
-/**
- * The purpose of this function is to enable a relative URI to be resolved
- * against an absolute URI. The first form of this function resolves $relative
- * against the value of the base-uri property from the static context. If the
- * base-uri property is not initialized in the static context an error is raised
- * [err:FONS0005].
- * 
- * If $relative is a relative URI reference, it is resolved against $base, or
- * the base-uri property from the static context, using an algorithm such as the
- * ones described in [RFC 2396] or [RFC 3986], and the resulting absolute URI
- * reference is returned. An error may be raised [err:FORG0009] in the
- * resolution process. If $relative is an absolute URI reference, it is returned
- * unchanged. If $relative or $base is not a valid xs:anyURI an error is raised
- * [err:FORG0002]. If $relative is the empty sequence, the empty sequence is
- * returned.
- */
-public class FnResolveURI extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnBaseUri.
-	 */
-	public FnResolveURI() {
-		super(new QName("resolve-uri"), 1, 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return resolveURI(args, dynamic_context());
-	}
-
-	/**
-	 * Resolve-URI operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @param d_context
-	 *            Dynamic context
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:resolve-uri operation.
-	 */
-	public static ResultSequence resolveURI(Collection args,
-			DynamicContext d_context) throws DynamicError {
-		if (d_context.base_uri() == null) {
-			throw DynamicError.noBaseURI();
-		}
-		
-		Collection cargs = args;
-		Iterator argit = cargs.iterator();
-		ResultSequence relativeRS = (ResultSequence) argit.next();
-		ResultSequence baseUriRS = null;
-		if (argit.hasNext()) {
-			baseUriRS = (ResultSequence) argit.next();
-		}
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-		
-		if (relativeRS.empty()) {
-			return rs;
-		}
-
-		AnyType relativeURI = relativeRS.first();
-		String resolvedURI = null;
-				
-		if (baseUriRS == null) {
-			resolvedURI = resolveURI(d_context.base_uri().string_value(), relativeURI.string_value());
-		} else {
-			AnyType baseURI = baseUriRS.first();
-			resolvedURI = resolveURI(baseURI.string_value(), relativeURI.string_value());
-		}
-
-		rs.add(new XSAnyURI(resolvedURI));
-
-		return rs;
-	}
-
-	private static String resolveURI(String base, String relative) throws DynamicError {
-		String resolved = null;
-		try {
-			URI baseURI = new URI(base);
-			resolved = baseURI.resolve(relative).toString();
-		} catch (Exception ex) {
-			throw DynamicError.errorResolvingURI();
-		}
-		return resolved;
-	}
-	
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(SeqType.OCC_QMARK));
-			_expected_args.add(new SeqType(SeqType.OCC_NONE));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnReverse.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnReverse.java
deleted file mode 100644
index d070198..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnReverse.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * <p>
- * Sequence reverse function.
- * </p>
- * 
- * <p>
- * Usage: fn:reverse($arg as item()*) as item()*
- * </p>
- * 
- * <p>
- * This class reverses the order of items in a sequence. If $arg is the empty
- * sequence, the empty sequence is returned.
- * </p>
- */
-public class FnReverse extends Function {
-
-	/**
-	 * Constructor for FnReverse.
-	 */
-	public FnReverse() {
-		super(new QName("reverse"), 1);
-	}
-
-	/**
-	 * Evaluate the arguments.
-	 * 
-	 * @param args
-	 *            are evaluated.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The evaluation of the reversal of the arguments.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return reverse(args);
-	}
-
-	/**
-	 * Reverse the arguments.
-	 * 
-	 * @param args
-	 *            are reversed.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The result of the reversal of the arguments.
-	 */
-	public static ResultSequence reverse(Collection args) throws DynamicError {
-
-		assert args.size() == 1;
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get args
-		Iterator citer = args.iterator();
-		ResultSequence arg = (ResultSequence) citer.next();
-
-		if (arg.empty())
-			return rs;
-
-		// XXX lame
-		ListIterator i = arg.iterator();
-
-		while (i.hasNext())
-			i.next();
-
-		while (i.hasPrevious())
-			rs.add((AnyType) i.previous());
-
-		return rs;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRoot.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRoot.java
deleted file mode 100644
index c84fbb4..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRoot.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver - STAR - bug 262765 - clean up fn:root according to spec. 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *     Jesper Steen Moeller - bug 281159 - tak extra care to find the root 
- *     Jesper Steen Moller - bug 275610 - Avoid big time and memory overhead for externals
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-import org.w3c.dom.*;
-
-/**
- * Returns the root of the tree to which $arg belongs. This will usually, but
- * not necessarily, be a document node.
- */
-public class FnRoot extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnRoot.
-	 */
-	public FnRoot() {
-		super(new QName("root"), 0, 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		//ResultSequence argument = (ResultSequence) args.iterator().next();
-
-		return fn_root(args, dynamic_context());
-	}
-
-	/**
-	 * Root operation.
-	 * 
-	 * @param arg
-	 *            Result from the expressions evaluation.
-	 * @param dc
-	 *            Result of dynamic context operation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:root operation.
-	 */
-	public static ResultSequence fn_root(Collection args, DynamicContext dc)
-			throws DynamicError {
-
-		Collection cargs = Function.convert_arguments(args, expected_args());
-		
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// sanity check arg
-//		if (cargs.isEmpty())
-//			return rs;
-
-		if (cargs.size() > 1)
-			throw new DynamicError(TypeError.invalid_type(null));
-		
-		ResultSequence arg = null;
-		if (cargs.isEmpty()) {
-			arg = ResultSequenceFactory.create_new();
-			if (dc.context_item() == null) {
-				throw DynamicError.contextUndefined();
-			}
-			arg.add(dc.context_item());
-		} else {
-			arg = (ResultSequence) cargs.iterator().next();			
-		}
-		
-		if (arg.empty()) {
-			return rs;
-		}
-		
-		AnyType aa = arg.first();
-
-		if (!(aa instanceof NodeType))
-			throw new DynamicError(TypeError.invalid_type(null));
-
-		NodeType nt = (NodeType) aa;
-
-		// ok we got a sane argument... own it.
-
-		Node root = nt.node_value();
-
-		while (root != null && ! (root instanceof Document)) {
-			Node newroot = root.getParentNode();
-			if (newroot == null && root instanceof Attr) {
-				newroot = ((Attr)root).getOwnerElement();
-			}
-				
-			// found it
-			if (newroot == null)
-				break;
-
-			root = newroot;
-		}
-
-		rs.add(NodeType.dom_to_xpath(root));
-
-		return rs;
-	}
-	
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(SeqType.OCC_QMARK);
-			_expected_args.add(arg);
-		}
-
-		return _expected_args;
-	}
-	
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRound.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRound.java
deleted file mode 100644
index 3d505e6..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRound.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the number with no fractional part that is closest to the argument.
- * If there are two such numbers, then the one that is closest to positive
- * infinity is returned. More formally, fn:round(x) produces the same result as
- * fn:floor(x+0.5). If type of $arg is one of the four numeric types xs:float,
- * xs:double, xs:decimal or xs:integer the type of the return is the same as the
- * type of $arg. If the type of $arg is a type derived from one of the numeric
- * types, the type of the return is the base numeric type.
- */
-public class FnRound extends Function {
-	/**
-	 * Constructor for FnRound.
-	 */
-	public FnRound() {
-		super(new QName("round"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		// 1 argument only!
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		ResultSequence argument = (ResultSequence) args.iterator().next();
-
-		return fn_round(argument);
-	}
-
-	/**
-	 * Round operation.
-	 * 
-	 * @param arg
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:round operation.
-	 */
-	public static ResultSequence fn_round(ResultSequence arg)
-			throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// sanity chex
-		NumericType nt = FnAbs.get_single_numeric_arg(arg);
-
-		// empty arg
-		if (nt == null)
-			return rs;
-
-		rs.add(nt.round());
-		return rs;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRoundHalfToEven.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRoundHalfToEven.java
deleted file mode 100644
index 09e068e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRoundHalfToEven.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * The value returned is the nearest (that is, numerically closest) numeric to
- * $arg that is a multiple of ten to the power of minus $precision. If two such
- * values are equally near (e.g. if the fractional part in $arg is exactly
- * .500...), returns the one whose least significant digit is even. If type of
- * $arg is one of the four numeric types xs:float, xs:double, xs:decimal or
- * xs:integer the type of the return is the same as the type of $arg. If the
- * type of $arg is a type derived from one of the numeric types, the type of the
- * return is the base numeric type.
- */
-public class FnRoundHalfToEven extends Function {
-	/**
-	 * Constructor for FnRoundHalfToEven.
-	 */
-	public FnRoundHalfToEven() {
-		super(new QName("round-half-to-even"), 1, 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		ResultSequence argument = (ResultSequence) args.iterator().next();
-		if (args.size() == 2) {
-			return fn_round_half_to_even(args);
-		}
-		
-		return fn_round_half_to_even(argument);
-	}
-
-	/**
-	 * Round-Half-to-Even operation.
-	 * 
-	 * @param arg
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:round-half-to-even operation.
-	 */
-	public static ResultSequence fn_round_half_to_even(ResultSequence arg)
-			throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		NumericType nt = FnAbs.get_single_numeric_arg(arg);
-
-		// empty arg
-		if (nt == null)
-			return rs;
-		
-		rs.add(nt.round_half_to_even());
-		return rs;
-	}
-	
-	public static ResultSequence fn_round_half_to_even(Collection args) throws DynamicError {
-		
-		if (args.size() > 2 || args.size() <= 1) {
-			throw new DynamicError(TypeError.invalid_type(null));
-		}
-		
-		Iterator argIt = args.iterator();
-		ResultSequence rsArg1 =  (ResultSequence) argIt.next();
-		ResultSequence rsPrecision = (ResultSequence) argIt.next();
-		
-		NumericType nt = (NumericType) rsArg1.first();
-		NumericType ntPrecision = (NumericType) rsPrecision.first();
-		
-		ResultSequence rs = ResultSequenceFactory.create_new();
-		
-		rs.add(nt.round_half_to_even(Integer.parseInt(ntPrecision.string_value())));
-		return rs;
-
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSecondsFromDateTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSecondsFromDateTime.java
deleted file mode 100644
index 3a8c1b1..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSecondsFromDateTime.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver - bug 277774 - XSDEcimal returning wrong values. 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigDecimal;
-import java.util.*;
-
-/**
- * Returns an xs:decimal value between 0 and 60.999..., both inclusive
- * representing the seconds and fractional seconds in the localized value of
- * $arg. Note that the value can be greater than 60 seconds to accommodate
- * occasional leap seconds used to keep human time synchronized with the
- * rotation of the planet. If $arg is the empty sequence, returns the empty
- * sequence.
- */
-public class FnSecondsFromDateTime extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnSecondsFromDateTime.
-	 */
-	public FnSecondsFromDateTime() {
-		super(new QName("seconds-from-dateTime"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return seconds_from_date_time(args);
-	}
-
-	/**
-	 * Seconds-from-dateTime operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:seconds-from-dateTime operation.
-	 */
-	public static ResultSequence seconds_from_date_time(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			return rs;
-		}
-
-		XSDateTime dt = (XSDateTime) arg1.first();
-
-		double res = dt.second();
-
-		rs.add(new XSDecimal(BigDecimal.valueOf(res)));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args
-					.add(new SeqType(new XSDateTime(), SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSecondsFromDuration.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSecondsFromDuration.java
deleted file mode 100644
index 7727678..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSecondsFromDuration.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- *     David Carver - bug 277774 - XSDecimal returning wrong values.
- *     David Carver - bug 282223 - implementation of xs:duration
- *     David Carver (STAR) - bug 262765 - fixed xs:duration expected argument. 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigDecimal;
-import java.util.*;
-
-/**
- * Returns an xs:decimal representing the seconds component in the canonical
- * lexical representation of the value of $arg. The result may be negative. If
- * $arg is the empty sequence, returns the empty sequence.
- */
-public class FnSecondsFromDuration extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnSecondsFromDuration.
-	 */
-	public FnSecondsFromDuration() {
-		super(new QName("seconds-from-duration"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return seconds_from_duration(args);
-	}
-
-	/**
-	 * Seconds-from-Duration operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:seconds-from-duration operation.
-	 */
-	public static ResultSequence seconds_from_duration(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			return rs;
-		}
-
-		XSDuration dtd = (XSDuration) arg1.first();
-
-		double res = dtd.seconds();
-
-		if (dtd.negative())
-			res *= -1;
-
-		rs.add(new XSDecimal(BigDecimal.valueOf(res)));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSDuration(),
-					SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSecondsFromTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSecondsFromTime.java
deleted file mode 100644
index 3a5db3b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSecondsFromTime.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver - bug 277774 - XSDecimal returing wrong values. 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigDecimal;
-import java.util.*;
-
-/**
- * Returns an xs:decimal value between 0 and 60.999..., both inclusive,
- * representing the seconds and fractional seconds in the localized value of
- * $arg. Note that the value can be greater than 60 seconds to accommodate
- * occasional leap seconds used to keep human time synchronized with the
- * rotation of the planet. If $arg is the empty sequence, returns the empty
- * sequence.
- */
-public class FnSecondsFromTime extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnSecondsFromTime.
-	 */
-	public FnSecondsFromTime() {
-		super(new QName("seconds-from-time"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return seconds_from_time(args);
-	}
-
-	/**
-	 * Base-Uri operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:base-uri operation.
-	 */
-	public static ResultSequence seconds_from_time(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			return rs;
-		}
-
-		XSTime dt = (XSTime) arg1.first();
-
-		double res = dt.second();
-
-		rs.add(new XSDecimal(BigDecimal.valueOf(res)));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSTime(), SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStartsWith.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStartsWith.java
deleted file mode 100644
index 0942683..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStartsWith.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns an xs:boolean indicating whether or not the value of $arg1 starts
- * with a sequence of collation units that provides a minimal match to the
- * collation units of $arg2 according to the collation that is used.
- */
-public class FnStartsWith extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnStartsWith.
-	 */
-	public FnStartsWith() {
-		super(new QName("starts-with"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return starts_with(args);
-	}
-
-	/**
-	 * Starts-with operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:starts-with operation.
-	 */
-	public static ResultSequence starts_with(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get args
-		Iterator argiter = cargs.iterator();
-		ResultSequence arg1 = (ResultSequence) argiter.next();
-		String str1 = "";
-		String str2 = "";
-		if (!arg1.empty())
-			str1 = ((XSString) arg1.first()).value();
-
-		ResultSequence arg2 = (ResultSequence) argiter.next();
-		if (!arg2.empty())
-			str2 = ((XSString) arg2.first()).value();
-
-		int str1len = str1.length();
-		int str2len = str2.length();
-
-		if (str1len == 0 && str2len != 0) {
-			rs.add(new XSBoolean(false));
-			return rs;
-		}
-		if (str2len == 0) {
-			rs.add(new XSBoolean(true));
-			return rs;
-		}
-
-		if (str1.startsWith(str2))
-			rs.add(new XSBoolean(true));
-		else
-			rs.add(new XSBoolean(false));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
-			_expected_args.add(arg);
-			_expected_args.add(arg);
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStaticBaseUri.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStaticBaseUri.java
deleted file mode 100644
index a50a3fc..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStaticBaseUri.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.StaticContext;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the value of the base-uri property from the static context. If the
- * base-uri property is undefined, the empty sequence is returned. Components of
- * the static context are discussed in Section C.1 Static Context Components in
- * the specification.
- */
-public class FnStaticBaseUri extends Function {
-	/**
-	 * Constructor for FnStaticBaseUri.
-	 */
-	public FnStaticBaseUri() {
-		super(new QName("static-base-uri"), 0);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return static_base_uri(args, static_context());
-	}
-
-	/**
-	 * Static-base-Uri operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @param sc
-	 *            Result of static context operation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:static-base-uri operation.
-	 */
-	public static ResultSequence static_base_uri(Collection args,
-			StaticContext sc) throws DynamicError {
-		assert args.size() == 0;
-		assert sc != null;
-
-		// make a copy prolly
-		return ResultSequenceFactory.create_new(sc.base_uri());
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnString.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnString.java
deleted file mode 100644
index 71f6a97..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnString.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 274471 - improvements to fn:string function (support for arity 0) 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *     Jesper Steen Moller  - bug 281938 - handle context and empty sequences correctly
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the value of $arg represented as a xs:string. If no argument is
- * supplied, this function returns the string value of the context item (.).
- */
-public class FnString extends Function {
-	/**
-	 * Constructor for FnString.
-	 */
-	public FnString() {
-	  super(new QName("string"), 0, 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return string(args, dynamic_context());
-	}
-
-	/**
-	 * String operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:string operation.
-	 */
-	public static ResultSequence string(Collection args, DynamicContext d_context) throws DynamicError {
-
-		assert (args.size() == 0 || args.size() == 1);
-
-		ResultSequence arg1 = null;
-				
-		if (args.isEmpty()) {
-			// support for arity = 0
-			return getResultSetForArityZero(d_context);
-		}
-		else {
-			arg1 = (ResultSequence) args.iterator().next();	
-		}
-
-		// sanity check args
-		if (arg1.size() > 1)
-			throw new DynamicError(TypeError.invalid_type(null));
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-		if (arg1.empty()) {
-			rs.add(new XSString(""));
-		} else {
-			AnyType at = arg1.first();
-			rs.add(new XSString(at.string_value()));
-		}
-		
-		return rs;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStringJoin.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStringJoin.java
deleted file mode 100644
index 3fd093b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStringJoin.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * <p>
- * Function to join strings together.
- * </p>
- * 
- * <p>
- * Usage: fn:string-join($arg1 as xs:string*, $arg2 as xs:string) as xs:string
- * </p>
- * 
- * <p>
- * This class returns a xs:string created by concatenating the members of the
- * $arg1 sequence using $arg2 as a separator. If the value of $arg2 is the
- * zero-length string, then the members of $arg1 are concatenated without a
- * separator.
- * </p>
- * 
- * <p>
- * If the value of $arg1 is the empty sequence, the zero-length string is
- * returned.
- * </p>
- */
-public class FnStringJoin extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnStringJoin
-	 */
-	public FnStringJoin() {
-		super(new QName("string-join"), 2);
-	}
-
-	/**
-	 * Evaluate the arguments.
-	 * 
-	 * @param args
-	 *            are evaluated.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The evaluation of the joining of the arguments.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return string_join(args);
-	}
-
-	/**
-	 * Join the arguments.
-	 * 
-	 * @param args
-	 *            are joined.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The result of the arguments being joined together.
-	 */
-	public static ResultSequence string_join(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		Iterator argi = cargs.iterator();
-		ResultSequence arg1 = (ResultSequence) argi.next();
-		ResultSequence arg2 = (ResultSequence) argi.next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		String result = "";
-		String separator = ((XSString) arg2.first()).value();
-
-		StringBuffer buf = new StringBuffer();
-		for (Iterator i = arg1.iterator(); i.hasNext();) {
-			XSString item = (XSString) i.next();
-			buf.append(item.value());
-			
-			if (i.hasNext())
-				buf.append(separator);
-		}
-		
-		result = buf.toString();
-		rs.add(new XSString(result));
-
-		return rs;
-	}
-
-	/**
-	 * Calculate the expected arguments.
-	 * 
-	 * @return The expected arguments.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_STAR));
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStringLength.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStringLength.java
deleted file mode 100644
index 3f2d094..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStringLength.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 274471 - improvements to string-length function (support for arity 0)
- *     Mukul Gandhi - bug 274805 - improvements to xs:integer data type  
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *     David Carver - bug 282096 - improvements for surrogate handling 
- *     Jesper Steen Moeller - bug 282096 - clean up string storage
- *     Jesper Steen Moller  - bug 281938 - handle context and empty sequences correctly
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * <p>
- * Function to calculate string length.
- * </p>
- * 
- * <p>
- * Usage: fn:string-length($arg as xs:string?) as xs:integer
- * </p>
- * 
- * <p>
- * This class returns an xs:integer equal to the length in characters of the
- * value of $arg.
- * </p>
- * 
- * <p>
- * If the value of $arg is the empty sequence, the xs:integer 0 is returned.
- * </p>
- */
-public class FnStringLength extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnStringLength
-	 */
-	public FnStringLength() {
-		super(new QName("string-length"), 0, 1);
-	}
-
-	/**
-	 * Evaluate the arguments.
-	 * 
-	 * @param args
-	 *            are evaluated.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The evaluation of the string length of the arguments.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return string_length(args, dynamic_context());
-	}
-
-	/**
-	 * Obtain the string length of the arguments.
-	 * 
-	 * @param args
-	 *            are used to obtain the string length.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The result of obtaining the string length from the arguments.
-	 */
-	public static ResultSequence string_length(Collection args, DynamicContext d_context)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = null;
-
-		if (cargs.isEmpty()) {
-		  // support for arity = 0
-		  return getResultSetForArityZero(d_context);
-		}
-		else {
-		  arg1 = (ResultSequence) cargs.iterator().next();
-		}
-
-		String str = "";
-		if (! arg1.empty()) {
-			str = ((XSString) arg1.first()).value();
-		}
-		ResultSequence rs = ResultSequenceFactory.create_new();
-		rs.add(new XSInteger(BigInteger.valueOf(str.codePointCount(0, str.length()))));
-
-		return rs;
-	}
-
-	/**
-	 * Calculate the expected arguments.
-	 * 
-	 * @return The expected arguments.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStringToCodepoints.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStringToCodepoints.java
deleted file mode 100644
index 1cd53df..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStringToCodepoints.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 280554 - improvements to the function implementation
- *     David Carver - bug 282096 - improvements for surrogate handling  
- *     Jesper Steen Moeller - bug 282096 - clean up string storage and fix surrogate handling
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.CodePointIterator;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.StringCodePointIterator;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * Returns the sequence of code points that constitute an xs:string. If $arg is
- * a zero-length string or the empty sequence, the empty sequence is returned.
- */
-public class FnStringToCodepoints extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnStringToCodepoints.
-	 */
-	public FnStringToCodepoints() {
-		super(new QName("string-to-codepoints"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return string_to_codepoints(args);
-	}
-
-	/**
-	 * Base-Uri operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:base-uri operation.
-	 */
-	public static ResultSequence string_to_codepoints(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-		if (arg1.empty())
-		   return rs;
-
-		XSString xstr = (XSString) arg1.first();
-
-		CodePointIterator cpi = new StringCodePointIterator(xstr.value());
-		
-		for (int codePoint = cpi.current(); codePoint != CodePointIterator.DONE; codePoint = cpi.next()) {
-           	rs.add(new XSInteger(BigInteger.valueOf(codePoint)));
-		}
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubsequence.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubsequence.java
deleted file mode 100644
index 0b2bdfa..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubsequence.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver - bug 262765 - eased restriction on data type...convert numerics to XSDouble.
- *     Jesper S Moller - bug 285806 - fixed fn:subsequence for indexes starting before 1
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the contiguous sequence of items in the value of $sourceSeq beginning
- * at the position indicated by the value of $startingLoc and continuing for the
- * number of items indicated by the value of $length. More specifically, returns
- * the items in $sourceString whose position $p obeys: - fn:round($startingLoc)
- * <= $p < fn:round($startingLoc) + fn:round($length)
- */
-public class FnSubsequence extends Function {
-	/**
-	 * Constructor for FnSubsequence.
-	 */
-	public FnSubsequence() {
-		super(new QName("subsequence"), 3);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return subsequence(args);
-	}
-
-	/**
-	 * Subsequence operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:subsequence operation.
-	 */
-	public static ResultSequence subsequence(Collection args)
-			throws DynamicError {
-
-		assert args.size() == 3;
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get args
-		Iterator citer = args.iterator();
-		ResultSequence seq = (ResultSequence) citer.next();
-		ResultSequence startLoc = (ResultSequence) citer.next();
-		ResultSequence length = (ResultSequence) citer.next();
-
-		// sanity chex
-		if (startLoc.size() != 1)
-			DynamicError.throw_type_error();
-
-		AnyType at = startLoc.first();
-		if (!(at instanceof NumericType)) {
-			DynamicError.throw_type_error();
-		}
-
-		at = new XSDouble(at.string_value());
-
-		int start = (int) ((XSDouble) at).double_value();
-
-		if (length.size() != 1)
-			DynamicError.throw_type_error();
-		
-		at = length.first();
-		
-		if (!(at instanceof NumericType)) {
-			DynamicError.throw_type_error();
-		}
-		
-		at = new XSDouble(at.string_value());
-			
-
-		int len = (int) ((XSDouble) at).double_value();
-
-		if (seq.empty())
-			return rs;
-
-		int pos = 1;
-
-		int end = start + len;
-
-		// XXX: Huge optimization possible here!
-		for (Iterator i = seq.iterator(); i.hasNext();) {
-			at = (AnyType) i.next();
-
-			if (start <= pos && pos < end)
-				rs.add(at);
-
-			pos++;
-		}
-		return rs;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubstring.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubstring.java
deleted file mode 100644
index fca61f0..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubstring.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 273795 - improvements to function, substring
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *     David Carver - bug 282096 - improvements for surrogate handling 
- *     Jesper Steen Moeller - bug 282096 - reimplemented to be surrogate sensitive
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.CodePointIterator;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.StringCodePointIterator;
-
-import java.util.*;
-
-/**
- * <p>
- * Function to obtain a substring from a string.
- * </p>
- * 
- * <p>
- * Usage: fn:substring($sourceString as xs:string?, $startingLoc as xs:double)
- * as xs:string
- * </p>
- * 
- * <p>
- * This class returns the portion of the value of $sourceString beginning at the
- * position indicated by the value of $startingLoc. The characters returned do
- * not extend beyond $sourceString. If $startingLoc is zero or negative, only
- * those characters in positions greater than zero are returned.
- * </p>
- * 
- * <p>
- * If the value of $sourceString is the empty sequence, the zero-length string
- * is returned.
- * </p>
- * 
- * <p>
- * The first character of a string is located at position 1, not position 0.
- * </p>
- */
-public class FnSubstring extends Function {
-
-	/**
-	 * Constructor for FnSubstring
-	 */
-	public FnSubstring() {
-		super(new QName("substring"), 2, 3);
-	}
-
-	/**
-	 * Evaluate the arguments.
-	 * 
-	 * @param args
-	 *            are evaluated.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The evaluation of the substring obtained from the arguments.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return substring(args);
-	}
-
-	/**
-	 * Obtain a substring from the arguments.
-	 * 
-	 * @param args
-	 *            are used to obtain a substring.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The result of obtaining a substring from the arguments.
-	 */
-	public static ResultSequence substring(Collection args) throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args(args));
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		Iterator argi = cargs.iterator();
-		ResultSequence stringArg = (ResultSequence) argi.next();
-		ResultSequence startPosArg = (ResultSequence) argi.next();
-		ResultSequence lengthArg = null;
-		
-		if (argi.hasNext()) {
-		  lengthArg = (ResultSequence) argi.next();	
-		}
-
-		if (stringArg.empty()) {
-			return emptyString(rs);
-		}
-
-		String str = ((XSString) stringArg.first()).value();
-		double dstart = ((XSDouble) startPosArg.first()).double_value();
-		
-		// is start is NaN, no chars are returned
-		if (Double.isNaN(dstart) || Double.NEGATIVE_INFINITY == dstart) {
-			return emptyString(rs);
-		}
-		long istart = Math.round(dstart);
-		
-		long ilength = Long.MAX_VALUE;
-		if (lengthArg != null) {
-			double dlength = ((XSDouble) lengthArg.first()).double_value();
-			if (Double.isNaN(dlength))
-				return emptyString(rs);
-			// Switch to the rounded kind
-			ilength = Math.round(dlength);
-			if (ilength <= 0)
-				return emptyString(rs);
-		}
-		
-		
-		// could guess too short in cases supplementary chars 
-		StringBuilder sb = new StringBuilder((int) Math.min(str.length(), ilength));
-
-		// This looks like an inefficient way to iterate, but due to surrogate handling,
-		// string indexes are no good here. Welcome to UTF-16!
-		
-		CodePointIterator strIter = new StringCodePointIterator(str);
-		for (long p = 1; strIter.current() != CodePointIterator.DONE; ++p, strIter.next()) {
-			if (istart <= p && p - istart < ilength)
-				sb.appendCodePoint(strIter.current());
-		}
-		rs.add(new XSString(sb.toString()));
-
-		return rs;
-	}
-	
-	private static ResultSequence emptyString(ResultSequence rs) {
-		rs.add(new XSString(""));
-		return rs;
-	}
-
-	/**
-	 * Calculate the expected arguments.
-	 * 
-	 * @return The expected arguments.
-	 */
-	public static Collection expected_args(Collection actualArgs) {
-		Collection _expected_args = new ArrayList();
-		
-		_expected_args.add(new SeqType(new XSString(), SeqType.OCC_QMARK));
-		_expected_args.add(new SeqType(new XSDouble(), SeqType.OCC_NONE));
-		
-		// for arity 3
-		if (actualArgs.size() == 3) {
-		  _expected_args.add(new SeqType(new XSDouble(), SeqType.OCC_NONE));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubstringAfter.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubstringAfter.java
deleted file mode 100644
index 28a08f1..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubstringAfter.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver - bug 282096 - improvements for surrogate handling  
- *     Jesper Steen Moeller - bug 282096 - clean up string storage
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the substring of the value of $arg1 that follows in the value of
- * $arg1 the first occurrence of a sequence of collation units that provides a
- * minimal match to the collation units of $arg2 according to the collation that
- * is used.
- */
-public class FnSubstringAfter extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnSubstringAfter.
-	 */
-	public FnSubstringAfter() {
-		super(new QName("substring-after"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return substring_after(args);
-	}
-
-	/**
-	 * Substring-After operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:substring-after operation.
-	 */
-	public static ResultSequence substring_after(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get args
-		Iterator argiter = cargs.iterator();
-		ResultSequence arg1 = (ResultSequence) argiter.next();
-		String str1 = "";
-		String str2 = "";
-		if (!arg1.empty()) {
-			str1 = ((XSString) arg1.first()).value();
-		}
-
-		ResultSequence arg2 = (ResultSequence) argiter.next();
-		if (!arg2.empty()) {
-			str2 = ((XSString) arg2.first()).value();
-		}
-
-		int str1len = str1.length();
-		int str2len = str2.length();
-
-		if (str2len == 0) {
-			rs.add(new XSString(str1));
-			return rs;
-		}
-
-		int index = str1.indexOf(str2);
-		if (index == -1) {
-			rs.add(new XSString(""));
-			return rs;
-		}
-
-		String result = "";
-
-		if ((index + str2len) < str1len) {
-			index += str2len;
-			result = str1.substring(index, str1len);
-		}
-
-		rs.add(new XSString(result));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
-			_expected_args.add(arg);
-			_expected_args.add(arg);
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubstringBefore.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubstringBefore.java
deleted file mode 100644
index 5b4d52e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubstringBefore.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver - bug 282096 - improvements for surrogate handling  
- *     Jesper Steen Moeller - bug 282096 - clean up string storage
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the substring of the value of $arg1 that precedes in the value of
- * $arg1 the first occurrence of a sequence of collation units that provides a
- * minimal match to the collation units of $arg2 according to the collation that
- * is used.
- */
-public class FnSubstringBefore extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnSubstringBefore.
-	 */
-	public FnSubstringBefore() {
-		super(new QName("substring-before"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return substring_before(args);
-	}
-
-	/**
-	 * Substring-Before operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:substring-before operation.
-	 */
-	public static ResultSequence substring_before(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get args
-		Iterator argiter = cargs.iterator();
-		ResultSequence arg1 = (ResultSequence) argiter.next();
-		String str1 = "";
-		String str2 = "";
-		if (!arg1.empty()) {
-			str1 = ((XSString) arg1.first()).value();
-		}
-
-		ResultSequence arg2 = (ResultSequence) argiter.next();
-		if (!arg2.empty()) {
-			str2 = ((XSString) arg2.first()).value();
-		}
-
-		int str2len = str2.length();
-
-		if (str2len == 0) {
-			rs.add(new XSString(""));
-			return rs;
-		}
-
-		int index = str1.indexOf(str2);
-		if (index == -1) {
-			rs.add(new XSString(""));
-			return rs;
-		}
-
-		
-		rs.add(new XSString(str1.substring(0, index)));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
-			_expected_args.add(arg);
-			_expected_args.add(arg);
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSum.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSum.java
deleted file mode 100644
index d992386..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSum.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 274805 - improvements to xs:integer data type 
- *     Jesper Moller - bug 281028 - fix promotion rules for fn:sum
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.TypeError;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.ScalarTypePromoter;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.TypePromoter;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * Returns a value obtained by adding together the values in $arg. If the
- * single-argument form of the function is used, then the value returned for an
- * empty sequence is the xs:integer value 0. If the two-argument form is used,
- * then the value returned for an empty sequence is the value of the $zero
- * argument.
- */
-public class FnSum extends Function {
-
-	static private XSInteger ZERO = new XSInteger(BigInteger.ZERO);
-
-	/**
-	 * Constructor for FnSum.
-	 */
-	public FnSum() {
-		super(new QName("sum"), 1, 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		Iterator argIterator = args.iterator();
-		ResultSequence argSequence = (ResultSequence)argIterator.next();
-		AnyAtomicType zero = ZERO;
-		if (argIterator.hasNext()) {
-			ResultSequence zeroSequence = (ResultSequence)argIterator.next();
-			if (zeroSequence.size() != 1)
-				throw new DynamicError(TypeError.invalid_type(null));
-			if (! (zeroSequence.first() instanceof AnyAtomicType))
-				throw new DynamicError(TypeError.invalid_type(zeroSequence.first().string_value()));
-			zero = (AnyAtomicType)zeroSequence.first();
-		}
-		return sum(argSequence, zero);
-	}
-
-	/**
-	 * Sum operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:sum operation.
-	 */
-	public static ResultSequence sum(ResultSequence arg, AnyAtomicType zero) throws DynamicError {
-
-
-		if (arg.empty())
-			return ResultSequenceFactory.create_new(zero);
-
-		MathPlus total = null;
-
-		TypePromoter tp = new ScalarTypePromoter();
-		tp.considerSequence(arg);
-
-		for (Iterator i = arg.iterator(); i.hasNext();) {
-			AnyAtomicType conv = tp.promote((AnyType) i.next());
-			
-			if (conv instanceof XSDouble && ((XSDouble)conv).nan() || conv instanceof XSFloat && ((XSFloat)conv).nan()) {
-				return ResultSequenceFactory.create_new(tp.promote(new XSFloat(Float.NaN)));
-			}
-			if (total == null) {
-				total = (MathPlus)conv; 
-			} else {
-				total = (MathPlus)total.plus(ResultSequenceFactory.create_new(conv)).first();
-			}
-		}
-		return ResultSequenceFactory.create_new((AnyType) total);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTimezoneFromDate.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTimezoneFromDate.java
deleted file mode 100644
index ba1b926..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTimezoneFromDate.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the timezone component of $arg if any. If $arg has a timezone
- * component, then the result is an xdt:dayTimeDuration that indicates deviation
- * from UTC; its value may range from +14:00 to -14:00 hours, both inclusive.
- * Otherwise, the result is the empty sequence. If $arg is the empty sequence,
- * returns the empty sequence.
- */
-public class FnTimezoneFromDate extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnTimezoneFromDate.
-	 */
-	public FnTimezoneFromDate() {
-		super(new QName("timezone-from-date"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return timezone_from_date(args);
-	}
-
-	/**
-	 * Timezone-from-Date operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:timezone-from-date operation.
-	 */
-	public static ResultSequence timezone_from_date(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			return rs;
-		}
-
-		XSDate dt = (XSDate) arg1.first();
-
-		if (dt.timezoned()) {
-			rs.add(dt.tz());
-		}
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSDate(), SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTimezoneFromDateTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTimezoneFromDateTime.java
deleted file mode 100644
index 221bc8e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTimezoneFromDateTime.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the timezone component of $arg if any. If $arg has a timezone
- * component, then the result is an xdt:dayTimeDuration that indicates deviation
- * from UTC; its value may range from +14:00 to -14:00 hours, both inclusive.
- * Otherwise, the result is the empty sequence. If $arg is the empty sequence,
- * returns the empty sequence.
- */
-public class FnTimezoneFromDateTime extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnTimezoneFromDateTime.
-	 */
-	public FnTimezoneFromDateTime() {
-		super(new QName("timezone-from-dateTime"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return timezone_from_date_time(args);
-	}
-
-	/**
-	 * Timezone-from-DateTime operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:timezone-from-dateTime operation.
-	 */
-	public static ResultSequence timezone_from_date_time(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			return rs;
-		}
-
-		XSDateTime dt = (XSDateTime) arg1.first();
-
-		if (dt.timezoned()) {
-			rs.add(dt.tz());
-		}
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args
-					.add(new SeqType(new XSDateTime(), SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTimezoneFromTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTimezoneFromTime.java
deleted file mode 100644
index b415371..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTimezoneFromTime.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the timezone component of $arg if any. If $arg has a timezone
- * component, then the result is an xdt:dayTimeDuration that indicates deviation
- * from UTC; its value may range from +14:00 to -14:00 hours, both inclusive.
- * Otherwise, the result is the empty sequence. If $arg is the empty sequence,
- * returns the empty sequence.
- */
-public class FnTimezoneFromTime extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnTimezoneFromTime.
-	 */
-	public FnTimezoneFromTime() {
-		super(new QName("timezone-from-time"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return timezone_from_time(args);
-	}
-
-	/**
-	 * Timezone-from-Time operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:timezone-from-time operation.
-	 */
-	public static ResultSequence timezone_from_time(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			return rs;
-		}
-
-		XSTime dt = (XSTime) arg1.first();
-
-		if (dt.timezoned()) {
-			rs.add(dt.tz());
-		}
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSTime(), SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTokenize.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTokenize.java
deleted file mode 100644
index 0462216..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTokenize.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 282096 - clean up string storage
- *     Jesper S Moller      - Bug 281938 - no matches should return full input 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-import java.util.regex.*;
-
-/**
- * This function breaks the $input string into a sequence of strings, treating
- * any substring that matches $pattern as a separator. The separators themselves
- * are not returned.
- */
-public class FnTokenize extends AbstractRegExFunction {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnTokenize.
-	 */
-	public FnTokenize() {
-		super(new QName("tokenize"), 2, 3);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return tokenize(args);
-	}
-
-	/**
-	 * Tokenize operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:tokenize operation.
-	 */
-	public static ResultSequence tokenize(Collection args) throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get args
-		Iterator argiter = cargs.iterator();
-		ResultSequence arg1 = (ResultSequence) argiter.next();
-		String str1 = "";
-		if (!arg1.empty()) {
-			str1 = ((XSString) arg1.first()).value();
-		}
-
-		ResultSequence arg2 = (ResultSequence) argiter.next();
-		String pattern = ((XSString) arg2.first()).value();
-		String flags = null;
-
-		if (argiter.hasNext()) {
-			ResultSequence flagRS = null;
-			flagRS = (ResultSequence) argiter.next();
-			flags = flagRS.first().string_value();
-			if (validflags.indexOf(flags) == -1 && flags.length() > 0 ) {
-				throw DynamicError.regex_flags_error(null);
-			}
-		}
-
-		try {
-			ArrayList<String> ret = tokenize(pattern, flags, str1);
-
-			for(String token : ret) {
-				rs.add(new XSString(token));
-			}
-		} catch (PatternSyntaxException err) {
-			throw DynamicError.regex_error(null);
-		}
-
-		return rs;
-	}
-	
-	private static ArrayList<String> tokenize(String pattern, String flags, String src) throws DynamicError {
-		Matcher matcher = regex(pattern, flags, src);
-		ArrayList<String> tokens = new ArrayList<String>();
-		int startpos = 0;
-		int endpos = src.length();
-		while (matcher.find()) {
-			String delim = matcher.group();
-			if (delim.length() == 0) {
-				throw DynamicError.regex_match_zero_length(null);
-			}
-			String token = src.substring(startpos, matcher.start());
-			startpos = matcher.end();
-			tokens.add(token);
-		}
-		if (startpos < endpos) {
-			String token = src.substring(startpos, endpos);
-			tokens.add(token);
-		}
-		return tokens;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
-			_expected_args.add(arg);
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTrace.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTrace.java
deleted file mode 100644
index ed920f7..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTrace.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * The input $value is returned, unchanged, as the result of the function. In
- * addition, the inputs $value, converted to an xs:string, and $label may be
- * directed to a trace data set. The location and format of the trace data set
- * are implementation dependent. The ordering of output from invocations of the
- * fn:trace() function is implementation dependent.
- */
-public class FnTrace extends Function {
-	/**
-	 * Constructor for FnTrace.
-	 */
-	public FnTrace() {
-		super(new QName("trace"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return trace(args);
-	}
-
-	/**
-	 * Trace operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:trace operation.
-	 */
-	public static ResultSequence trace(Collection args) throws DynamicError {
-
-		// sanity check args
-		if (args.size() != 2)
-			DynamicError.throw_type_error();
-
-		Iterator argsi = args.iterator();
-
-		ResultSequence arg1 = (ResultSequence) argsi.next();
-		ResultSequence arg2 = (ResultSequence) argsi.next();
-
-		if (arg2.size() != 1)
-			DynamicError.throw_type_error();
-
-		AnyType at = arg2.first();
-		if (!(at instanceof XSString))
-			DynamicError.throw_type_error();
-
-		XSString label = (XSString) at;
-
-		int index = 1;
-
-		for (Iterator i = arg1.iterator(); i.hasNext(); index++) {
-			at = (AnyType) i.next();
-
-			System.out.println(label.value() + " [" + index + "] "
-					+ at.string_type() + ":" + at.string_value());
-
-		}
-
-		return arg1;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTranslate.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTranslate.java
deleted file mode 100644
index 3af784b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTranslate.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 282096 - clean up string storage and make
- *                                         translate function surrogate aware
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.CodePointIterator;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.StringCodePointIterator;
-
-import java.util.*;
-
-/**
- * <p>
- * Translation function.
- * </p>
- * 
- * <p>
- * Usage: fn:translate($arg as xs:string?, $mapString as xs:string, $transString
- * as xs:string) as xs:string
- * </p>
- * 
- * <p>
- * This class returns the value of $arg modified so that every character in the
- * value of $arg that occurs at some position N in the value of $mapString has
- * been replaced by the character that occurs at position N in the value of
- * $transString.
- * </p>
- * 
- * <p>
- * If the value of $arg is the empty sequence, the zero-length string is
- * returned.
- * </p>
- * 
- * <p>
- * Every character in the value of $arg that does not appear in the value of
- * $mapString is unchanged.
- * </p>
- * 
- * <p>
- * Every character in the value of $arg that appears at some position M in the
- * value of $mapString, where the value of $transString is less than M
- * characters in length, is omitted from the returned value. If $mapString is
- * the zero-length string $arg is returned.
- * </p>
- * 
- * <p>
- * If a character occurs more than once in $mapString, then the first occurrence
- * determines the replacement character. If $transString is longer than
- * $mapString, the excess characters are ignored.
- * </p>
- */
-public class FnTranslate extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnTranslate.
-	 */
-	public FnTranslate() {
-		super(new QName("translate"), 3);
-	}
-
-	/**
-	 * Evaluate the arguments.
-	 * 
-	 * @param args
-	 *            are evaluated.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The evaluation of the arguments being translated.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return translate(args);
-	}
-
-	/**
-	 * Translate arguments.
-	 * 
-	 * @param args
-	 *            are translated.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The result of translating the arguments.
-	 */
-	public static ResultSequence translate(Collection args) throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		Iterator argi = cargs.iterator();
-		ResultSequence arg1 = (ResultSequence) argi.next();
-		ResultSequence arg2 = (ResultSequence) argi.next();
-		ResultSequence arg3 = (ResultSequence) argi.next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			rs.add(new XSString(""));
-			return rs;
-		}
-
-		String str = ((XSString) arg1.first()).value();
-		String mapstr = ((XSString) arg2.first()).value();
-		String transstr = ((XSString) arg3.first()).value();
-
-		Map<Integer, Integer> replacements = buildReplacementMap(mapstr, transstr);
-		
-		StringBuffer sb = new StringBuffer(str.length());
-		CodePointIterator strIter = new StringCodePointIterator(str);
-		for (int input = strIter.current(); input != CodePointIterator.DONE; input = strIter.next()) {
-			Integer inputCodepoint = Integer.valueOf(input);
-			if (replacements.containsKey(inputCodepoint)) {
-				Integer replaceWith = replacements.get(inputCodepoint);
-				if (replaceWith != null) {
-					sb.appendCodePoint(replaceWith.intValue());
-				}					
-			} else {
-				sb.appendCodePoint(input);
-			}
-		}
-		
-		rs.add(new XSString(sb.toString()));
-
-		return rs;
-	}
-
-	/**
-	 * Build a replacement map from the mapstr and the transstr for translation. The function returns a Map<Integer, Integer> mapping each codepoint
-	 * mentioned in the mapstr into the corresponding codepoint in transstr, or null if there is no matching mapping in transstr.
-	 * 
-	 * @param mapstr The "mapping from" string
-	 * @param transstr The "mapping into" string
-	 * @return A map which maps input codepoint to output codepoint (or null)
-	 */
-	private static Map<Integer, Integer> buildReplacementMap(String mapstr, String transstr) {
-		// Build mapping (map from codepoint -> codepoint)		
-		Map<Integer, Integer> replacements = new HashMap<Integer, Integer>(mapstr.length() * 4);
-
-		CodePointIterator mapIter = new StringCodePointIterator(mapstr);
-		CodePointIterator transIter = new StringCodePointIterator(transstr);
-		// Iterate through both mapIter and transIter and produce the mapping
-		int mapFrom = mapIter.current();
-		int mapTo = transIter.current();
-		while (mapFrom != CodePointIterator.DONE) {
-			Integer codepointFrom = Integer.valueOf(mapFrom);
-			if (! replacements.containsKey(codepointFrom)) {
-				// only overwrite if it doesn't exist already
-				Integer replacement = mapTo != CodePointIterator.DONE ? Integer.valueOf(mapTo) : null;
-				replacements.put(codepointFrom, replacement);
-			}
-			mapFrom = mapIter.next();
-			mapTo = transIter.next();	
-		}
-		return replacements;
-	}
-
-	/**
-	 * Calculate the expected arguments.
-	 * 
-	 * @return The expected arguments.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_QMARK));
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTrue.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTrue.java
deleted file mode 100644
index af464a7..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTrue.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the xs:boolean value true. Equivalent to xs:boolean("1").
- */
-public class FnTrue extends Function {
-	/**
-	 * Constructor for FnTrue.
-	 */
-	public FnTrue() {
-		super(new QName("true"), 0);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return fn_true(args);
-	}
-
-	/**
-	 * True operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:true operation.
-	 */
-	public static ResultSequence fn_true(Collection args) throws DynamicError {
-		assert args.size() == 0;
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		rs.add(new XSBoolean(true));
-
-		return rs;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnUnordered.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnUnordered.java
deleted file mode 100644
index 3f58acb..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnUnordered.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the items of $sourceSeq in a non-deterministic order.
- */
-public class FnUnordered extends Function {
-	/**
-	 * Constructor for FnUnordered.
-	 */
-	public FnUnordered() {
-		super(new QName("unordered"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return unordered(args);
-	}
-
-	/**
-	 * Unordered operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:unordered operation.
-	 */
-	public static ResultSequence unordered(Collection args) throws DynamicError {
-
-		assert args.size() == 1;
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// get args
-		Iterator citer = args.iterator();
-		ResultSequence arg = (ResultSequence) citer.next();
-
-		if (arg.empty())
-			return rs;
-
-		// XXX lame
-		ArrayList tmp = new ArrayList();
-		for (Iterator i = arg.iterator(); i.hasNext();)
-			tmp.add(i.next());
-
-		Collections.shuffle(tmp);
-
-		for (Iterator i = tmp.iterator(); i.hasNext();)
-			rs.add((AnyType) i.next());
-
-		return rs;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnUpperCase.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnUpperCase.java
deleted file mode 100644
index b2fd656..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnUpperCase.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * <p>
- * Conversion to upper-case function.
- * </p>
- * 
- * <p>
- * Usage: fn:upper-case($arg as xs:string?) as xs:string
- * </p>
- * 
- * <p>
- * This class returns the value of $arg after translating every character to its
- * upper-case correspondent. Every character that does not have an upper-case
- * correspondent is included in the returned value in its original form.
- * </p>
- * 
- * <p>
- * If the value of $arg is the empty sequence, the zero-length string is
- * returned.
- * </p>
- */
-public class FnUpperCase extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnUpperCase.
-	 */
-	public FnUpperCase() {
-		super(new QName("upper-case"), 1);
-	}
-
-	/**
-	 * Evaluate the arguments.
-	 * 
-	 * @param args
-	 *            are evaluated.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The evaluation of the arguments being converted to upper case.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return upper_case(args);
-	}
-
-	/**
-	 * Convert arguments to upper case.
-	 * 
-	 * @param args
-	 *            are converted to upper case.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return The result of converting the arguments to upper case.
-	 */
-	public static ResultSequence upper_case(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			rs.add(new XSString(""));
-			return rs;
-		}
-
-		String str = ((XSString) arg1.first()).value();
-
-		rs.add(new XSString(str.toUpperCase()));
-
-		return rs;
-	}
-
-	/**
-	 * Calculate the expected arguments.
-	 * 
-	 * @return The expected arguments.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSString(), SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnYearFromDate.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnYearFromDate.java
deleted file mode 100644
index d8b67cf..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnYearFromDate.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 274805 - improvements to xs:integer data type 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * Returns an xs:integer representing the year in the localized value of $arg.
- * The value may be negative. If $arg is the empty sequence, returns the empty
- * sequence.
- */
-public class FnYearFromDate extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnYearFromDate.
-	 */
-	public FnYearFromDate() {
-		super(new QName("year-from-date"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return year_from_date(args);
-	}
-
-	/**
-	 * Year-from-Date operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:year-from-date operation.
-	 */
-	public static ResultSequence year_from_date(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			return rs;
-		}
-
-		XSDate dt = (XSDate) arg1.first();
-
-		int res = dt.year();
-
-		rs.add(new XSInteger(BigInteger.valueOf(res)));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSDate(), SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnYearFromDateTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnYearFromDateTime.java
deleted file mode 100644
index a87b015..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnYearFromDateTime.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 274805 - improvements to xs:integer data type 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * Returns an xs:integer representing the year component in the localized value
- * of $arg. The result may be negative. If $arg is the empty sequence, returns
- * the empty sequence.
- */
-public class FnYearFromDateTime extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnYearFromDateTime.
-	 */
-	public FnYearFromDateTime() {
-		super(new QName("year-from-dateTime"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return year_from_date_time(args);
-	}
-
-	/**
-	 * Year-from-DateTime operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:year-from-dateTime operation.
-	 */
-	public static ResultSequence year_from_date_time(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			return rs;
-		}
-
-		XSDateTime dt = (XSDateTime) arg1.first();
-
-		int res = dt.year();
-
-		rs.add(new XSInteger(BigInteger.valueOf(res)));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args
-					.add(new SeqType(new XSDateTime(), SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnYearsFromDuration.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnYearsFromDuration.java
deleted file mode 100644
index a40dfa8..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnYearsFromDuration.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- *     Mukul Gandhi - bug 274805 - improvements to xs:integer data type
- *     David Carver - bug 282223 - implementation of xs:duration.
- *     David Carver (STAR) - bug 262765 - fixed expected xs:duration argument 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * Returns an xs:integer representing the years component in the canonical
- * lexical representation of the value of $arg. The result may be negative. If
- * $arg is the empty sequence, returns the empty sequence.
- */
-public class FnYearsFromDuration extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for FnYearsFromDuration.
-	 */
-	public FnYearsFromDuration() {
-		super(new QName("years-from-duration"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return years_from_duration(args);
-	}
-
-	/**
-	 * Years-from-Duration operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:years-from-duration operation.
-	 */
-	public static ResultSequence years_from_duration(Collection args)
-			throws DynamicError {
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg1.empty()) {
-			return rs;
-		}
-
-		XSDuration ymd = (XSDuration) arg1.first();
-
-		int res = ymd.year();
-		if (ymd.negative())
-			res *= -1;
-
-		rs.add(new XSInteger(BigInteger.valueOf(res)));
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-			_expected_args.add(new SeqType(new XSDuration(),
-					SeqType.OCC_QMARK));
-		}
-
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnZeroOrOne.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnZeroOrOne.java
deleted file mode 100644
index 7a1108e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnZeroOrOne.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns $arg if it contains zero or one items. Otherwise, raises an error
- * [err:FORG0003]. The type of the result depends on the type of $arg.
- */
-public class FnZeroOrOne extends Function {
-	/**
-	 * Constructor for FnZeroOrOne.
-	 */
-	public FnZeroOrOne() {
-		super(new QName("zero-or-one"), 1);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return zero_or_one(args);
-	}
-
-	/**
-	 * Zero-or-One operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fn:zero-or-one operation.
-	 */
-	public static ResultSequence zero_or_one(Collection args)
-			throws DynamicError {
-
-		assert args.size() == 1;
-
-		// get args
-		Iterator citer = args.iterator();
-		ResultSequence arg = (ResultSequence) citer.next();
-
-		if (arg.size() > 1)
-			throw DynamicError.more_one_item(null);
-
-		return arg;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsConvertOperand.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsConvertOperand.java
deleted file mode 100644
index 69610a3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsConvertOperand.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Function to convert a sequence of items to a sequence of atomic values.
- */
-public class FsConvertOperand extends Function {
-
-	public FsConvertOperand() {
-		super(new QName("convert-operand"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		return convert_operand(args);
-	}
-
-	/**
-	 * Convert-Operand operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fs: operation.
-	 */
-	public static ResultSequence convert_operand(Collection args)
-			throws DynamicError {
-
-		assert args.size() == 2;
-
-		Iterator iter = args.iterator();
-
-		ResultSequence actual = (ResultSequence) iter.next();
-		ResultSequence expected = (ResultSequence) iter.next();
-
-		if (expected.size() != 1)
-			DynamicError.throw_type_error();
-
-		AnyType at = expected.first();
-
-		if (!(at instanceof AnyAtomicType))
-			DynamicError.throw_type_error();
-
-		AnyAtomicType exp_aat = (AnyAtomicType) at;
-
-		ResultSequence result = ResultSequenceFactory.create_new();
-
-		// 1
-		if (actual.empty())
-			return result;
-
-		// convert sequence
-		for (Iterator i = actual.iterator(); i.hasNext();) {
-			AnyType item = (AnyType) i.next();
-
-			// 2
-			if (item instanceof XSUntypedAtomic) {
-				// a
-				if (exp_aat instanceof XSUntypedAtomic)
-					result.add(new XSString(item.string_value()));
-				// b
-				else if (exp_aat instanceof NumericType)
-					result.add(new XSDouble(item.string_value()));
-				// c
-				else {
-					assert exp_aat instanceof CtrType;
-
-					CtrType cons = (CtrType) exp_aat;
-
-					ResultSequence tmp = ResultSequenceFactory
-							.create_new(new XSString(item.string_value()));
-
-					ResultSequence converted = cons.constructor(tmp);
-					result.concat(converted);
-
-					tmp.release();
-				}
-			}
-			// 4
-			else
-				result.add(item);
-
-		}
-
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsDiv.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsDiv.java
deleted file mode 100644
index 34e69ca..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsDiv.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Class for the Division function.
- */
-public class FsDiv extends Function {
-	/**
-	 * Constructor for FsDiv.
-	 */
-	public FsDiv() {
-		super(new QName("div"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		return fs_div(args);
-	}
-
-	/**
-	 * Div operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of fs:div operation.
-	 */
-	public static ResultSequence fs_div(Collection args) throws DynamicError {
-		return FsPlus.do_math_op(args, MathDiv.class, "div");
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsEq.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsEq.java
deleted file mode 100644
index d47199c..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsEq.java
+++ /dev/null
@@ -1,375 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 276134 - improvements to schema aware primitive type support
- *                                 for attribute/element nodes 
- *     David Carver - bug 262765 - fixed comparison on sequence range values.
- *     Jesper S Moller - bug 283214 - fix eq for untyped atomic values
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *     Jesper Steen Moeller - bug 280555 - Add pluggable collation support
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-import java.lang.reflect.*;
-
-/**
- * Class for the Equality function.
- */
-public class FsEq extends Function {
-	/**
-	 * Constructor for FsEq.
-	 */
-	public FsEq() {
-		super(new QName("eq"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		return fs_eq_value(args, dynamic_context());
-	}
-
-	/**
-	 * Converts arguments to values.
-	 * 
-	 * @param args
-	 *            Result from expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of conversion.
-	 */
-	private static Collection value_convert_args(Collection args)
-			throws DynamicError {
-		Collection result = new ArrayList(args.size());
-
-		// atomize arguments
-		for (Iterator i = args.iterator(); i.hasNext();) {
-			ResultSequence rs = (ResultSequence) i.next();
-
-			//FnData.fast_atomize(rs);
-			rs = FnData.atomize(rs);
-
-			if (rs.empty())
-				return new ArrayList();
-
-			if (rs.size() > 1)
-				throw new DynamicError(TypeError.invalid_type(null));
-
-			AnyType arg = rs.first();
-
-			if (arg instanceof XSUntypedAtomic)
-				arg = new XSString(arg.string_value());
-
-			rs = ResultSequenceFactory.create_new();
-			rs.add(arg);
-			result.add(rs);
-		}
-
-		return result;
-	}
-
-	/**
-	 * Conversion operation for the values of the arguments.
-	 * 
-	 * @param args
-	 *            Result from convert value operation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of conversion.
-	 */
-	public static ResultSequence fs_eq_value(Collection args, DynamicContext dynamicContext)
-			throws DynamicError {
-		return do_cmp_value_op(args, CmpEq.class, "eq", dynamicContext);
-	}
-
-	/**
-	 * A fast Equality operation, no conversion for the inputs performed.
-	 * 
-	 * @param one
-	 *            input1 of any type.
-	 * @param two
-	 *            input2 of any type.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of Equality operation.
-	 */
-	public static boolean fs_eq_fast(AnyType one, AnyType two, DynamicContext dynamicContext)
-			throws DynamicError {
-
-		one = FnData.atomize(one);
-		two = FnData.atomize(two);
-
-		if (one instanceof XSUntypedAtomic)
-			one = new XSString(one.string_value());
-
-		if (two instanceof XSUntypedAtomic)
-			two = new XSString(two.string_value());
-
-		if (!(one instanceof CmpEq))
-			DynamicError.throw_type_error();
-
-		CmpEq cmpone = (CmpEq) one;
-
-		return cmpone.eq(two, dynamicContext);
-	}
-
-	/**
-	 * Making sure that the types are the same before comparing the inputs.
-	 * 
-	 * @param a
-	 *            input1 of any type.
-	 * @param b
-	 *            input2 of any type.
-	 * @param dc
-	 *              Dynamic Context
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of Equality operation.
-	 */
-	private static boolean do_general_pair(AnyType a, AnyType b,
-			Method comparator, DynamicContext dc) throws DynamicError {
-
-		// section 3.5.2
-
-		// rule a
-		// if one is untyped and other is numeric, cast untyped to
-		// double
-		if ((a instanceof XSUntypedAtomic && b instanceof NumericType)
-				|| (b instanceof XSUntypedAtomic && a instanceof NumericType)) {
-			if (a instanceof XSUntypedAtomic)
-				a = new XSDouble(a.string_value());
-			else
-				b = new XSDouble(b.string_value());
-
-		}
-
-		// rule b
-		// if one is untyped and other is string or untyped, then cast
-		// untyped to string
-		else if ((a instanceof XSUntypedAtomic
-				&& (b instanceof XSString || b instanceof XSUntypedAtomic) || (b instanceof XSUntypedAtomic && (a instanceof XSString || a instanceof XSUntypedAtomic)))) {
-
-			if (a instanceof XSUntypedAtomic)
-				a = new XSString(a.string_value());
-			if (b instanceof XSUntypedAtomic)
-				b = new XSString(b.string_value());
-		}
-
-		// rule c
-		// if one is untyped and other is not string,untyped,numeric
-		// cast untyped to dynamic type of other
-
-		// XXX?
-		else if (a instanceof XSUntypedAtomic) {
-			ResultSequence converted = ResultSequenceFactory.create_new(a);
-			assert converted.size() == 1;
-			a = converted.first();
-		} else if (b instanceof XSUntypedAtomic) {
-			ResultSequence converted = ResultSequenceFactory.create_new(b);
-			assert converted.size() == 1;
-			b = converted.first();
-		}
-
-		// rule d
-		// if value comparison is true, return true.
-
-		ResultSequence one = ResultSequenceFactory.create_new(a);
-		ResultSequence two = ResultSequenceFactory.create_new(b);
-
-		Collection args = new ArrayList();
-		args.add(one);
-		args.add(two);
-
-		Object margs[] = { args, dc };
-
-		ResultSequence result = null;
-		try {
-			result = (ResultSequence) comparator.invoke(null, margs);
-		} catch (IllegalAccessException err) {
-			assert false;
-		} catch (InvocationTargetException err) {
-			Throwable ex = err.getTargetException();
-
-			if (ex instanceof DynamicError)
-				throw (DynamicError) ex;
-
-			ex.printStackTrace();
-			System.exit(1);
-		}
-
-		if (((XSBoolean) result.first()).value())
-			return true;
-
-		return false;
-	}
-
-	/**
-	 * A general equality function.
-	 * 
-	 * @param args
-	 *            input arguments.
-	 * @param dc
-	 *         Dynamic context 
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of general equality operation.
-	 */
-	public static ResultSequence fs_eq_general(Collection args, DynamicContext dc)
-			throws DynamicError {
-		return do_cmp_general_op(args, FsEq.class, "fs_eq_value", dc);
-	}
-
-	// voodoo 3
-	/**
-	 * Actual equality operation for fs_eq_general.
-	 * 
-	 * @param args
-	 *            input arguments.
-	 * @param type
-	 *            type of the arguments.
-	 * @param mname
-	 *            Method name for template simulation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the operation.
-	 */
-	public static ResultSequence do_cmp_general_op(Collection args, Class type,
-			String mname, DynamicContext dc) throws DynamicError {
-
-		// do the voodoo
-		Method comparator = null;
-
-		try {
-			Class margsdef[] = { Collection.class, DynamicContext.class };
-
-			comparator = type.getMethod(mname, margsdef);
-
-		} catch (NoSuchMethodException err) {
-			throw new RuntimeException("Can¿'t find method : " + mname, err);
-		}
-
-		// sanity check args and get them
-		if (args.size() != 2)
-			DynamicError.throw_type_error();
-
-		Iterator argiter = args.iterator();
-
-		ResultSequence one = (ResultSequence) argiter.next();
-		ResultSequence two = (ResultSequence) argiter.next();
-
-		// XXX ?
-		if (one.empty() || two.empty())
-			return ResultSequenceFactory.create_new(new XSBoolean(false));
-
-		// atomize
-		one = FnData.atomize(one);
-		two = FnData.atomize(two);
-
-		// we gotta find a pair that satisfied the condition
-		for (Iterator i = one.iterator(); i.hasNext();) {
-			AnyType a = (AnyType) i.next();
-			for (Iterator j = two.iterator(); j.hasNext();) {
-				AnyType b = (AnyType) j.next();
-
-				if (do_general_pair(a, b, comparator, dc))
-					return ResultSequenceFactory
-							.create_new(new XSBoolean(true));
-			}
-		}
-
-		return ResultSequenceFactory.create_new(new XSBoolean(false));
-	}
-
-	// voodoo 2
-	/**
-	 * Actual equality operation for fs_eq_value.
-	 * 
-	 * @param args
-	 *            input arguments.
-	 * @param type
-	 *            type of the arguments.
-	 * @param mname
-	 *            Method name for template simulation.
-	 * @param dynamicContext 
-	 *             Dynamic error.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the operation.
-	 */
-	public static ResultSequence do_cmp_value_op(Collection args, Class type,
-			String mname, DynamicContext dynamicContext) throws DynamicError {
-
-		// sanity check args + convert em
-		if (args.size() != 2)
-			DynamicError.throw_type_error();
-
-		Collection cargs = value_convert_args(args);
-
-		ResultSequence result = ResultSequenceFactory.create_new();
-
-		if (cargs.size() == 0)
-			return result;
-
-		// make sure arugments are comparable by equality
-		Iterator argi = cargs.iterator();
-		AnyType arg = ((ResultSequence) argi.next()).first();
-		ResultSequence arg2 = (ResultSequence) argi.next();
-
-		if (arg2.size() != 1)
-			DynamicError.throw_type_error();
-
-		if (!(type.isInstance(arg)))
-			DynamicError.throw_type_error();
-
-		try {
-			Class margsdef[] = { AnyType.class, DynamicContext.class };
-			Method method = null;
-
-			method = type.getMethod(mname, margsdef);
-
-			Object margs[] = { arg2.first(), dynamicContext };
-			Boolean cmpres = (Boolean) method.invoke(arg, margs);
-
-			return ResultSequenceFactory.create_new(new XSBoolean(cmpres
-					.booleanValue()));
-		} catch (NoSuchMethodException err) {
-			assert false;
-			throw new RuntimeException("cannot compare using method " + mname, err);
-		} catch (IllegalAccessException err) {
-			assert false;
-			throw new RuntimeException("cannot compare using method " + mname, err);
-		} catch (InvocationTargetException err) {
-			Throwable ex = err.getTargetException();
-
-			if (ex instanceof DynamicError)
-				throw (DynamicError) ex;
-
-			throw new RuntimeException("cannot compare using method " + mname, ex);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsGe.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsGe.java
deleted file mode 100644
index 851e4e3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsGe.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *     Jesper Steen Mooller - bug 280555 - Add pluggable collation support
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Class for the Greater than or equal to function.
- */
-public class FsGe extends Function {
-	/**
-	 * Constructor for FsGe.
-	 */
-	public FsGe() {
-		super(new QName("ge"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		return fs_ge_value(args, dynamic_context());
-	}
-
-	/**
-	 * Greater than or equal to operation on the values of the arguments.
-	 * 
-	 * @param args
-	 *            input arguments.
-	 * @param dc 
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the operation.
-	 */
-	public static ResultSequence fs_ge_value(Collection args, DynamicContext dc)
-			throws DynamicError {
-		ResultSequence greater = FsGt.fs_gt_value(args, dc);
-
-		if (((XSBoolean) greater.first()).value())
-			return greater;
-
-		ResultSequence equal = FsEq.fs_eq_value(args, dc);
-
-		if (((XSBoolean) equal.first()).value())
-			return equal;
-
-		return ResultSequenceFactory.create_new(new XSBoolean(false));
-	}
-
-	/**
-	 * General greater than or equal to operation.
-	 * 
-	 * @param args
-	 *            input arguments.
-	 * @param dc 
-	 *             The dynamic context
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the operation.
-	 */
-	public static ResultSequence fs_ge_general(Collection args, DynamicContext dc)
-			throws DynamicError {
-		return FsEq.do_cmp_general_op(args, FsGe.class, "fs_ge_value", dc);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsGt.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsGt.java
deleted file mode 100644
index a183727..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsGt.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *     Jesper Steen Moeller - bug 280555 - Add pluggable collation support
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Class for the Greater than function.
- */
-public class FsGt extends Function {
-	/**
-	 * Constructor for FsGt.
-	 */
-	public FsGt() {
-		super(new QName("gt"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		return fs_gt_value(args, dynamic_context());
-	}
-
-	/**
-	 * Operation on the values of the arguments.
-	 * 
-	 * @param args
-	 *            input arguments.
-	 * @param dynamic
-	 *             Dynamic contexet
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the operation.
-	 */
-	public static ResultSequence fs_gt_value(Collection args, DynamicContext dynamic)
-			throws DynamicError {
-		return FsEq.do_cmp_value_op(args, CmpGt.class, "gt", dynamic);
-	}
-
-	/**
-	 * General operation on the arguments.
-	 * 
-	 * @param args
-	 *            input arguments.
-	 * @param dc 
-	 *             The dynamic context
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the operation.
-	 */
-	public static ResultSequence fs_gt_general(Collection args, DynamicContext dc)
-			throws DynamicError {
-		return FsEq.do_cmp_general_op(args, FsGt.class, "fs_gt_value", dc);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsIDiv.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsIDiv.java
deleted file mode 100644
index 6111dc3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsIDiv.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Class for Interger division function.
- */
-public class FsIDiv extends Function {
-	/**
-	 * Constructor for FsIDiv.
-	 */
-	public FsIDiv() {
-		super(new QName("idiv"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		return fs_idiv(args);
-	}
-
-	/**
-	 * IDiv operation on the arguments.
-	 * 
-	 * @param args
-	 *            input arguments.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the operation.
-	 */
-	public static ResultSequence fs_idiv(Collection args) throws DynamicError {
-		return FsPlus.do_math_op(args, MathIDiv.class, "idiv");
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsLe.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsLe.java
deleted file mode 100644
index e1ab4c2..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsLe.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *     Jesper Moller - bug 280555 - Add pluggable collation support
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Class for Less than or equal to function.
- */
-public class FsLe extends Function {
-	/**
-	 * Constructor for FsLe.
-	 */
-	public FsLe() {
-		super(new QName("le"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		return fs_le_value(args, dynamic_context());
-	}
-
-	/**
-	 * Operation on the values of the arguments.
-	 * 
-	 * @param args
-	 *            input arguments.
-	 * @param 
-     *         DynamicContext 
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the operation.
-	 */
-	public static ResultSequence fs_le_value(Collection args, DynamicContext dc)
-			throws DynamicError {
-		ResultSequence less = FsLt.fs_lt_value(args, dc);
-
-		if (((XSBoolean) less.first()).value())
-			return less;
-
-		ResultSequence equal = FsEq.fs_eq_value(args, dc);
-
-		if (((XSBoolean) equal.first()).value())
-			return equal;
-
-		return ResultSequenceFactory.create_new(new XSBoolean(false));
-	}
-
-	/**
-	 * General operation on the arguments.
-	 * 
-	 * @param args
-	 *            input arguments.
-	 * @param dc 
-	 *             The dynamic context
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the operation.
-	 */
-	public static ResultSequence fs_le_general(Collection args, DynamicContext dc)
-			throws DynamicError {
-		return FsEq.do_cmp_general_op(args, FsLe.class, "fs_le_value", dc);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsLt.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsLt.java
deleted file mode 100644
index 50482e1..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsLt.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *     Jesper Moller - bug 280555 - Add pluggable collation support
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Class for Less than function.
- */
-public class FsLt extends Function {
-	/**
-	 * Constructor for FsLt.
-	 */
-	public FsLt() {
-		super(new QName("lt"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		return fs_lt_value(args, dynamic_context());
-	}
-
-	/**
-	 * Operation on the values of the arguments.
-	 * 
-	 * @param args
-	 *            input arguments.
-	 * @param context 
-	 *             Dynamic context
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the operation.
-	 */
-	public static ResultSequence fs_lt_value(Collection args, DynamicContext context)
-			throws DynamicError {
-		return FsEq.do_cmp_value_op(args, CmpLt.class, "lt", context);
-	}
-
-	/**
-	 * General operation on the arguments.
-	 * 
-	 * @param args
-	 *            input arguments.
-	 * @param dc 
-	 *             The dynamic context
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the operation.
-	 */
-	public static ResultSequence fs_lt_general(Collection args, DynamicContext dc)
-			throws DynamicError {
-		return FsEq.do_cmp_general_op(args, FsLt.class, "fs_lt_value", dc);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsMinus.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsMinus.java
deleted file mode 100644
index e6309b7..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsMinus.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Class for Minus function.
- */
-public class FsMinus extends Function {
-	/**
-	 * Constructor for FsMinus.
-	 */
-	public FsMinus() {
-		super(new QName("minus"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		return fs_minus(args);
-	}
-
-	/**
-	 * General operation on the arguments.
-	 * 
-	 * @param args
-	 *            input arguments.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the operation.
-	 */
-	public static ResultSequence fs_minus(Collection args) throws DynamicError {
-		return FsPlus.do_math_op(args, MathMinus.class, "minus");
-	}
-
-	/**
-	 * Unary operation on the values of the arguments.
-	 * 
-	 * @param args
-	 *            input arguments.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the operation.
-	 */
-	public static ResultSequence fs_minus_unary(Collection args)
-			throws DynamicError {
-		// make sure we got only one arg
-		if (args.size() != 1)
-			DynamicError.throw_type_error();
-		ResultSequence arg = (ResultSequence) args.iterator().next();
-
-		// make sure we got only one numeric atom
-		if (arg.size() != 1)
-			DynamicError.throw_type_error();
-		AnyType at = arg.first();
-		if (!(at instanceof NumericType))
-			DynamicError.throw_type_error();
-
-		NumericType nt = (NumericType) at;
-
-		return nt.unary_minus();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsMod.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsMod.java
deleted file mode 100644
index 1fc361d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsMod.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Class for Modular function.
- */
-public class FsMod extends Function {
-	/**
-	 * Constructor for FsMod.
-	 */
-	public FsMod() {
-		super(new QName("mod"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		return fs_mod(args);
-	}
-
-	/**
-	 * General operation on the arguments.
-	 * 
-	 * @param args
-	 *            input arguments.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the operation.
-	 */
-	public static ResultSequence fs_mod(Collection args) throws DynamicError {
-		return FsPlus.do_math_op(args, MathMod.class, "mod");
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsNe.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsNe.java
deleted file mode 100644
index 521837c..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsNe.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *     Jesper Moller - bug 280555 - Add pluggable collation support
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Class for Not equal function.
- */
-public class FsNe extends Function {
-	/**
-	 * Constructor for FsNe.
-	 */
-	public FsNe() {
-		super(new QName("ne"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		return fs_ne_value(args, dynamic_context());
-	}
-
-	/**
-	 * Operation on the values of the arguments.
-	 * 
-	 * @param args
-	 *            input arguments.
-	 * @param context 
-	 *             The dynamic context
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the operation.
-	 */
-	public static ResultSequence fs_ne_value(Collection args, DynamicContext context)
-			throws DynamicError {
-		return FnNot.fn_not(FsEq.fs_eq_value(args, context));
-	}
-
-	/**
-	 * General operation on the arguments.
-	 * 
-	 * @param args
-	 *            input arguments.
-	 * @param dc 
-	 *             The dynamic context
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the operation.
-	 */
-	public static ResultSequence fs_ne_general(Collection args, DynamicContext dc)
-			throws DynamicError {
-		return FsEq.do_cmp_general_op(args, FsNe.class, "fs_ne_value", dc);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsPlus.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsPlus.java
deleted file mode 100644
index 74cc60b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsPlus.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *     Jesper Steen Moller  - Bug 286062 - Add type promotion for numeric operators  
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-import java.lang.reflect.*;
-
-/**
- * Class for Plus function.
- */
-public class FsPlus extends Function {
-	/**
-	 * Constructor for FsPlus.
-	 */
-	public FsPlus() {
-		super(new QName("plus"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		return fs_plus(args);
-	}
-
-	/**
-	 * Convert and promote arguments for operation.
-	 * 
-	 * @param args
-	 *            input arguments.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of conversion.
-	 */
-	private static Collection convert_args(Collection args) throws DynamicError {
-		Collection result = new ArrayList();
-
-		// Keep track of numeric types for promotion
-		boolean has_float = false;
-		boolean has_double = false;
-		
-		// atomize arguments
-		for (Iterator i = args.iterator(); i.hasNext();) {
-			ResultSequence rs = FnData.atomize((ResultSequence) i.next());
-
-			if (rs.empty())
-				return new ArrayList();
-
-			if (rs.size() > 1)
-				throw new DynamicError(TypeError.invalid_type(null));
-
-			AnyType arg = rs.first();
-
-			if (arg instanceof XSUntypedAtomic) {
-				arg = new XSDouble(arg.string_value());
-			}
-
-			rs = ResultSequenceFactory.create_new();
-			rs.add(arg);
-			if (arg instanceof XSDouble) has_double = true;
-			if (arg instanceof XSFloat) has_float = true;
-			result.add(rs);
-		}
-
-		if (has_double) has_float = false;
-		
-		if (has_double || has_float) {
-			// promote arguments
-			for (Iterator i = result.iterator(); i.hasNext();) {
-				ResultSequence rs = (ResultSequence) i.next();
-								
-				AnyType arg = rs.first();
-				
-				if (has_double && (arg instanceof XSFloat)) {
-					arg = new XSDouble(((XSFloat)arg).float_value());
-				} else if (has_double && (arg instanceof XSDecimal)) {
-					arg = new XSDouble(((XSDecimal)arg).getValue().doubleValue());
-				} else if (has_float && (arg instanceof XSDecimal)) {
-					arg = new XSFloat(((XSDecimal)arg).getValue().floatValue());
-				}
-
-				if (rs.first() != arg) {
-					// Replace arg
-					rs.clear();
-					rs.add(arg);
-				}
-			}
-			
-		}
-		
-		return result;
-	}
-
-
-	/**
-	 * General operation on the arguments.
-	 * 
-	 * @param args
-	 *            input arguments.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the operation.
-	 */
-	public static ResultSequence fs_plus(Collection args) throws DynamicError {
-		return do_math_op(args, MathPlus.class, "plus");
-	}
-
-	/**
-	 * Unary operation on the arguments.
-	 * 
-	 * @param args
-	 *            input arguments.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the operation.
-	 */
-	public static ResultSequence fs_plus_unary(Collection args)
-			throws DynamicError {
-
-		// make sure we got only one arg
-		if (args.size() != 1)
-			DynamicError.throw_type_error();
-		ResultSequence arg = (ResultSequence) args.iterator().next();
-
-		// make sure we got only one numeric atom
-		if (arg.size() != 1)
-			DynamicError.throw_type_error();
-		AnyType at = arg.first();
-		if (!(at instanceof NumericType))
-			DynamicError.throw_type_error();
-
-		// no-op
-		return arg;
-	}
-
-	// voodoo
-	/**
-	 * Mathematical operation on the arguments.
-	 * 
-	 * @param args
-	 *            input arguments.
-	 * @param type
-	 *            type of arguments.
-	 * @param mname
-	 *            Method name for template simulation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of operation.
-	 */
-	public static ResultSequence do_math_op(Collection args, Class type,
-			String mname) throws DynamicError {
-
-		// sanity check args + convert em
-		if (args.size() != 2)
-			DynamicError.throw_type_error();
-
-		Collection cargs = convert_args(args);
-
-		ResultSequence result = ResultSequenceFactory.create_new();
-
-		if (cargs.size() == 0)
-			return result;
-
-		// make sure arugments are good [at least the first one]
-		Iterator argi = cargs.iterator();
-		AnyType arg = ((ResultSequence) argi.next()).first();
-		ResultSequence arg2 = (ResultSequence) argi.next();
-
-		if (!(type.isInstance(arg)))
-			DynamicError.throw_type_error();
-
-		// here is da ownage
-		try {
-			Class margsdef[] = { ResultSequence.class };
-			Method method = null;
-
-			method = type.getMethod(mname, margsdef);
-
-			Object margs[] = { arg2 };
-			return (ResultSequence) method.invoke(arg, margs);
-
-		} catch (NoSuchMethodException err) {
-			System.out.println("NoSuchMethodException: " + err.getMessage());
-			assert false;
-		} catch (IllegalAccessException err) {
-			System.out.println("IllegalAccessException: " + err.getMessage());
-			assert false;
-		} catch (InvocationTargetException err) {
-			Throwable ex = err.getTargetException();
-
-			if (ex instanceof DynamicError) {
-				throw (DynamicError) ex;
-			}
-			else {
-				ex.printStackTrace();
-				System.exit(1);
-			}
-		}
-		return null; // unreach!
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsTimes.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsTimes.java
deleted file mode 100644
index 322eed9..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsTimes.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Class for Multiplication function.
- */
-public class FsTimes extends Function {
-	/**
-	 * Constructor for FsTimes.
-	 */
-	public FsTimes() {
-		super(new QName("times"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		return fs_times(args);
-	}
-
-	/**
-	 * General operation on the arguments.
-	 * 
-	 * @param args
-	 *            input arguments.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of the operation.
-	 */
-	public static ResultSequence fs_times(Collection args) throws DynamicError {
-		return FsPlus.do_math_op(args, MathTimes.class, "times");
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/Function.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/Function.java
deleted file mode 100644
index 32fb141..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/Function.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 273719 - String Length does not work with Element arg.
- *     Mukul Gandhi - bug 273795 - improvements to function, substring (implemented
- *                                 numeric type promotion). 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *     Jesper Steen Moeller - bug 281159 - implement xs:anyUri -> xs:string promotion
- *     Jesper Steen Moller  - bug 281938 - undefined context should raise error
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.StaticContext;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Support for functions.
- */
-public abstract class Function {
-
-	protected QName _name;
-	/**
-	 * if negative, need to have "at least"
-	 */
-	protected int _min_arity; 
-	
-	/**
-	 * If "at least", this speci, unlimited if -1
-	 */
-	protected int _max_arity;
-	
-	protected FunctionLibrary _fl;
-
-	/**
-	 * Constructor for Function.
-	 * 
-	 * @param name
-	 *            QName.
-	 * @param arity
-	 *            the arity of a specific function.
-	 */
-	public Function(QName name, int arity) {
-		_name = name;
-		if (arity < 0) {
-			throw new RuntimeException("We want to avoid this!");
-		}
-		_min_arity = arity;
-		_max_arity = arity;
-		_fl = null;
-	}
-
-	/**
-	 * Constructor for Function.
-	 * 
-	 * @param name
-	 *            QName.
-	 * @param arity
-	 *            the arity of a specific function.
-	 */
-	public Function(QName name, int min_arity, int max_arity) {
-		_name = name;
-		if (min_arity < 0 || max_arity < 0 || max_arity < min_arity) {
-			throw new RuntimeException("We want to avoid this!");
-		}
-		_min_arity = min_arity;
-		_max_arity = max_arity;
-		_fl = null;
-	}
-
-	/**
-	 * Support for QName interface.
-	 * 
-	 * @return Result of QName operation.
-	 */
-	public QName name() {
-		return _name;
-	}
-
-	/**
-	 * Minimal number of allowed arguments.
-	 * 
-	 * @return The smallest number of erguments possible
-	 */
-	public int min_arity() {
-		return _min_arity;
-	}
-
-	/**
-	 * Maximum number of allowed arguments.
-	 * 
-	 * @return The highest number of erguments possible
-	 */
-	public int max_arity() {
-		return _max_arity;
-	}
-
-	/**
-	 * Checks if this function has an to the
-	 * 
-	 * @param actual_arity
-	 * @return
-	 */
-	public boolean matches_arity(int actual_arity) {
-		if (actual_arity < min_arity()) return false;
-		if (actual_arity > max_arity()) return false;
-		return true;
-	}
-	
-	/**
-	 * Default constructor for signature.
-	 * 
-	 * @return Signature.
-	 */
-	public String signature() {
-		return signature(this);
-	}
-
-	/**
-	 * Obtain the function name and arity from signature.
-	 * 
-	 * @param f
-	 *            current function.
-	 * @return Signature.
-	 */
-	public static String signature(Function f) {
-		return signature(f.name(), f.is_vararg() ? -1 : f.min_arity());
-	}
-
-	/**
-	 * Apply the name and arity to signature.
-	 * 
-	 * @param name
-	 *            QName.
-	 * @param arity
-	 *            arity of the function.
-	 * @return Signature.
-	 */
-	public static String signature(QName name, int arity) {
-		String n = name.expanded_name();
-		if (n == null)
-			return null;
-
-		n += "_";
-
-		if (arity < 0)
-			n += "x";
-		else
-			n += arity;
-
-		return n;
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	public abstract ResultSequence evaluate(Collection args)
-			throws DynamicError;
-
-	// convert argument according to section 3.1.5 of xpath 2.0 spec
-	/**
-	 * Convert the input argument according to section 3.1.5 of specification.
-	 * 
-	 * @param arg
-	 *            input argument.
-	 * @param expected
-	 *            Expected Sequence type.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Converted argument.
-	 */
-	public static ResultSequence convert_argument(ResultSequence arg,
-			SeqType expected) throws DynamicError {
-		ResultSequence result = arg;
-
-		// XXX: Should use type_class instead and use item.getClass().isAssignableTo(expected.type_class())
-		AnyType expected_type = expected.type();
-
-		// expected is atomic
-		if (expected_type instanceof AnyAtomicType) {
-			AnyAtomicType expected_aat = (AnyAtomicType) expected_type;
-			
-			// atomize
-			ResultSequence rs = FnData.atomize(arg);
-
-			// cast untyped to expected type
-			result = ResultSequenceFactory.create_new();
-			for (Iterator i = rs.iterator(); i.hasNext();) {
-				AnyType item = (AnyType) i.next();
-				
-				if (item instanceof XSUntypedAtomic) {
-					// create a new item of the expected
-					// type initialized with from the string
-					// value of the item
-					ResultSequence converted = null;
-					if (expected_aat instanceof XSString) {
-					   XSString strType = new XSString(item.string_value());
-					   converted = ResultSequenceFactory.create_new(strType);
-					}
-					else {
-					   converted = ResultSequenceFactory.create_new(item);
-					}
-					
-					result.concat(converted);
-				}
-				// xs:anyURI promotion to xs:string
-				else if (item instanceof XSAnyURI && expected_aat instanceof XSString) {
-					result.add(new XSString(item.string_value()));
-				}
-				// numeric type promotion
-				else if (item instanceof NumericType) {
-					if (expected_aat instanceof XSDouble) {
-					  XSDouble doubleType = new XSDouble(item.string_value());
-					  result.add(doubleType);
-					}
-					else {
-					  result.add(item);
-					}
-				} else {
-					result.add(item);
-				}
-			}
-		}
-
-		// do sequence type matching on converted arguments
-		return expected.match(result);
-	}
-
-	// convert arguments
-	// returns collection of arguments
-	/**
-	 * Convert arguments.
-	 * 
-	 * @param args
-	 *            input arguments.
-	 * @param expected
-	 *            expected arguments.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Converted arguments.
-	 */
-	public static Collection convert_arguments(Collection args,
-			Collection expected) throws DynamicError {
-		Collection result = new ArrayList();
-
-		assert args.size() <= expected.size();
-
-		Iterator argi = args.iterator();
-		Iterator expi = expected.iterator();
-
-		// convert all arguments
-		while (argi.hasNext()) {
-			result.add(convert_argument((ResultSequence) argi.next(),
-					(SeqType) expi.next()));
-		}
-
-		return result;
-	}
-
-	protected static ResultSequence getResultSetForArityZero(DynamicContext d_context)
-			throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-		
-		AnyType contextItem = d_context.context_item();
-		if (contextItem != null) {
-		  // if context item is defined, then that is the default argument
-		  // to fn:string function
-		  rs.add(new XSString(contextItem.string_value()));
-		} else {
-			throw DynamicError.contextUndefined();
-		}
-		return rs;
-	}
-
-	/**
-	 * Set the function library variable.
-	 * 
-	 * @param fl
-	 *            Function Library.
-	 */
-	public void set_function_library(FunctionLibrary fl) {
-		_fl = fl;
-	}
-
-	protected StaticContext static_context() {
-		if (_fl == null)
-			return null;
-
-		return _fl.static_context();
-	}
-
-	protected DynamicContext dynamic_context() {
-		if (_fl == null)
-			return null;
-
-		return _fl.dynamic_context();
-	}
-
-	public boolean is_vararg() {
-		return _min_arity != _max_arity;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FunctionLibrary.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FunctionLibrary.java
deleted file mode 100644
index 625e123..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FunctionLibrary.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Mukul Gandhi - bug 274471 - improvements to fn:string function (support for arity 0)
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import java.util.Hashtable;
-import java.util.Map;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.StaticContext;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-/**
- * Class for Function Library support.
- */
-public class FunctionLibrary {
-	private String _namespace;
-	private Map _functions;
-	private StaticContext _sc;
-	private DynamicContext _dc;
-
-	/**
-	 * Constructor for FunctionLibrary.
-	 * 
-	 * @param ns
-	 *            namespace.
-	 */
-	public FunctionLibrary(String ns) {
-		_namespace = ns;
-		_functions = new Hashtable();
-		_sc = null;
-		_dc = null;
-	}
-
-	/**
-	 * Add a function.
-	 * 
-	 * @param x
-	 *            function to add.
-	 */
-	public void add_function(Function x) {
-		x.name().set_namespace(_namespace);
-		x.set_function_library(this);
-		_functions.put(x.signature(), x);
-	}
-
-	/**
-	 * Checks whether the function exists or not.
-	 * 
-	 * @param name
-	 *            QName of function.
-	 * @param arity
-	 *            arity of the function.
-	 * @return Result of the test.
-	 */
-	public boolean function_exists(QName name, int arity) {
-		return function(name, arity) != null;
-	}
-
-	/**
-	 * Function support.
-	 * 
-	 * @param name
-	 *            QName.
-	 * @param arity
-	 *            arity of the function.
-	 * @return The new function.
-	 */
-	public Function function(QName name, int arity) {
-		Function f = (Function) _functions.get(Function.signature(name, arity));
-
-		if (f != null || arity == -1)
-			return f;
-
-		// see if we got a varg one
-		f = function(name, -1);
-
-		// nope
-		if (f == null)
-			return null;
-		
-		if (f.matches_arity(arity))
-			return f;
-
-		return null;
-	}
-
-	/**
-	 * Support for namespace.
-	 * 
-	 * @return Namespace.
-	 */
-	public String namespace() {
-		return _namespace;
-	}
-
-	/**
-	 * Set static context on function.
-	 */
-	public void set_static_context(StaticContext sc) {
-		_sc = sc;
-	}
-
-	/**
-	 * Set dynamic context on function.
-	 */
-	public void set_dynamic_context(DynamicContext dc) {
-		_dc = dc;
-	}
-
-	/**
-	 * Support for Static context.
-	 * 
-	 * @return Result of static context.
-	 */
-	public StaticContext static_context() {
-		return _sc;
-	}
-
-	/**
-	 * Support for Dynamic context.
-	 * 
-	 * @return Result of dynamic context.
-	 */
-	public DynamicContext dynamic_context() {
-		return _dc;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathDiv.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathDiv.java
deleted file mode 100644
index 5441f34..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathDiv.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-
-/**
- * Support for Mathematical division.
- */
-public interface MathDiv {
-	/**
-	 * Division operation.
-	 * 
-	 * @param arg
-	 *            input argument.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of operation.
-	 */
-	public ResultSequence div(ResultSequence arg) throws DynamicError;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathIDiv.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathIDiv.java
deleted file mode 100644
index f3d76de..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathIDiv.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-
-/**
- * Support for Mathematical Integer Division.
- */
-public interface MathIDiv {
-	/**
-	 * Integer Division operation.
-	 * 
-	 * @param arg
-	 *            input argument.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of operation.
-	 */
-	public ResultSequence idiv(ResultSequence arg) throws DynamicError;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathMinus.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathMinus.java
deleted file mode 100644
index 7086b3d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathMinus.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-
-/**
- * Support for Mathematical Subtraction.
- */
-public interface MathMinus {
-	/**
-	 * Subtraction operation.
-	 * 
-	 * @param arg
-	 *            input argument.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of operation.
-	 */
-	public ResultSequence minus(ResultSequence arg) throws DynamicError;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathMod.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathMod.java
deleted file mode 100644
index 7fa1b02..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathMod.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-
-/**
- * Support for Mathematical Modular operation.
- */
-public interface MathMod {
-	/**
-	 * Modular operation.
-	 * 
-	 * @param arg
-	 *            input argument.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of operation.
-	 */
-	public ResultSequence mod(ResultSequence arg) throws DynamicError;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathPlus.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathPlus.java
deleted file mode 100644
index bcc486d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathPlus.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-
-/**
- * Support for Mathematical Addition.
- */
-public interface MathPlus {
-	/**
-	 * Addition operation.
-	 * 
-	 * @param arg
-	 *            input argument.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of operation.
-	 */
-	public ResultSequence plus(ResultSequence arg) throws DynamicError;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathTimes.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathTimes.java
deleted file mode 100644
index a888205..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathTimes.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-
-/**
- * Support for Mathematical Multiplication.
- */
-public interface MathTimes {
-	/**
-	 * Multiplication operation.
-	 * 
-	 * @param arg
-	 *            input argument.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of operation.
-	 */
-	public ResultSequence times(ResultSequence arg) throws DynamicError;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpExcept.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpExcept.java
deleted file mode 100644
index f471b2d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpExcept.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Support for Except operation on node types.
- */
-public class OpExcept extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for OpExcept.
-	 */
-	public OpExcept() {
-		super(new QName("except"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		return op_except(args);
-	}
-
-	/**
-	 * Op-Except operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of operation.
-	 */
-	public static ResultSequence op_except(Collection args) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// convert arguments
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		// get arguments
-		Iterator iter = cargs.iterator();
-		ResultSequence one = (ResultSequence) iter.next();
-		ResultSequence two = (ResultSequence) iter.next();
-
-		// XXX lame
-		for (Iterator i = one.iterator(); i.hasNext();) {
-			NodeType node = (NodeType) i.next();
-			boolean found = false;
-
-			// death
-			for (Iterator j = two.iterator(); j.hasNext();) {
-				NodeType node2 = (NodeType) j.next();
-
-				if (node.node_value() == node2.node_value()) {
-					found = true;
-					break;
-				}
-
-			}
-			if (!found)
-				rs.add(node);
-		}
-		rs = NodeType.eliminate_dups(rs);
-		rs = NodeType.sort_document_order(rs);
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-
-			SeqType st = new SeqType(SeqType.OCC_STAR);
-
-			_expected_args.add(st);
-			_expected_args.add(st);
-		}
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpFunctionLibrary.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpFunctionLibrary.java
deleted file mode 100644
index a5e556e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpFunctionLibrary.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-// this is the equivalent of libc =D
-/**
- * Maintains a library of built-in operators as functions.
- * 
- * This is necessary if normalization is being used.
- */
-public class OpFunctionLibrary extends FunctionLibrary {
-
-	// XXX should be internal
-	public static final String XPATH_OP_NS = "http://www.w3.org/TR/2003/WD-xquery-semantics-20030502/";
-
-	/**
-	 * Constructor for OpFunctionLibrary.
-	 */
-	public OpFunctionLibrary() {
-		super(XPATH_OP_NS);
-
-		// operators according to formal semantics
-		add_function(new FsDiv());
-		add_function(new FsEq());
-		add_function(new FsGe());
-		add_function(new FsGt());
-		add_function(new FsIDiv());
-		add_function(new FsLe());
-		add_function(new FsLt());
-		add_function(new FsMinus());
-		add_function(new FsMod());
-		add_function(new FsNe());
-		add_function(new FsPlus());
-		add_function(new FsTimes());
-
-		// utility functions in formal semantics
-		add_function(new FsConvertOperand());
-
-		// operators according to functions & operators
-		add_function(new OpExcept());
-		add_function(new OpIntersect());
-		add_function(new OpTo());
-		add_function(new OpUnion());
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpIntersect.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpIntersect.java
deleted file mode 100644
index e0185c5..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpIntersect.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Support for Intersect operation.
- */
-public class OpIntersect extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for OpIntersect.
-	 */
-	public OpIntersect() {
-		super(new QName("intersect"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		return op_intersect(args);
-	}
-
-	/**
-	 * Op-Intersect operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of operation.
-	 */
-	public static ResultSequence op_intersect(Collection args)
-			throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// convert arguments
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		// get arguments
-		Iterator iter = cargs.iterator();
-		ResultSequence one = (ResultSequence) iter.next();
-		ResultSequence two = (ResultSequence) iter.next();
-
-		// XXX lame
-		for (Iterator i = one.iterator(); i.hasNext();) {
-			NodeType node = (NodeType) i.next();
-			boolean found = false;
-
-			// death
-			for (Iterator j = two.iterator(); j.hasNext();) {
-				NodeType node2 = (NodeType) j.next();
-
-				if (node.node_value() == node2.node_value()) {
-					found = true;
-					break;
-				}
-
-			}
-			if (found)
-				rs.add(node);
-		}
-		rs = NodeType.eliminate_dups(rs);
-		rs = NodeType.sort_document_order(rs);
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-
-			SeqType st = new SeqType(SeqType.OCC_STAR);
-
-			_expected_args.add(st);
-			_expected_args.add(st);
-		}
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpTo.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpTo.java
deleted file mode 100644
index 1d94b91..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpTo.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 274805 - improvements to xs:integer data type 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * Support for To operation.
- */
-public class OpTo extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for OpTo.
-	 */
-	public OpTo() {
-		super(new QName("to"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		assert args.size() == 2;
-
-		// Iterator i = args.iterator();
-
-		// return op_to( (ResultSequence) i.next(), (ResultSequence) i.next());
-		return op_to(args);
-	}
-
-	/**
-	 * Op-To operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of operation.
-	 */
-	public static ResultSequence op_to(Collection args) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// convert arguments
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		// get arguments
-		Iterator iter = cargs.iterator();
-		ResultSequence r = (ResultSequence) iter.next();
-		int one = ((XSInteger) r.first()).int_value().intValue();
-		r = (ResultSequence) iter.next();
-		if (r.first() == null) {
-			return rs;
-		}
-		int two = ((XSInteger) r.first()).int_value().intValue();
-
-		if (one > two)
-			return rs;
-
-		// inclusive first and last
-		rs.add(new XSInteger(BigInteger.valueOf(one)));
-
-		if (one == two) {
-			return rs;
-		}
-		/*
-		 * for(one++; one <= two; one++) { rs.add(new XSInteger(one)); }
-		 * 
-		 * return rs;
-		 */
-		return new RangeResultSequence(one, two);
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-
-			SeqType st = new SeqType(new XSInteger());
-
-			_expected_args.add(st);
-			_expected_args.add(st);
-		}
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpUnion.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpUnion.java
deleted file mode 100644
index f76601f..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpUnion.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Support for Union operation.
- */
-public class OpUnion extends Function {
-	private static Collection _expected_args = null;
-
-	/**
-	 * Constructor for OpUnion.
-	 */
-	public OpUnion() {
-		super(new QName("union"), 2);
-	}
-
-	/**
-	 * Evaluate arguments.
-	 * 
-	 * @param args
-	 *            argument expressions.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of evaluation.
-	 */
-	@Override
-	public ResultSequence evaluate(Collection args) throws DynamicError {
-		assert args.size() >= min_arity() && args.size() <= max_arity();
-
-		return op_union(args);
-	}
-
-	/**
-	 * Op-Union operation.
-	 * 
-	 * @param args
-	 *            Result from the expressions evaluation.
-	 * @throws DynamicError
-	 *             Dynamic error.
-	 * @return Result of operation.
-	 */
-	public static ResultSequence op_union(Collection args) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// convert arguments
-		Collection cargs = Function.convert_arguments(args, expected_args());
-
-		// get arguments
-		Iterator iter = cargs.iterator();
-		ResultSequence one = (ResultSequence) iter.next();
-		ResultSequence two = (ResultSequence) iter.next();
-
-		// XXX i don't fink u've ever seen anything lamer than this
-		rs.concat(one);
-		rs.concat(two);
-		rs = NodeType.eliminate_dups(rs);
-		rs = NodeType.sort_document_order(rs);
-
-		return rs;
-	}
-
-	/**
-	 * Obtain a list of expected arguments.
-	 * 
-	 * @return Result of operation.
-	 */
-	public synchronized static Collection expected_args() {
-		if (_expected_args == null) {
-			_expected_args = new ArrayList();
-
-			SeqType st = new SeqType(SeqType.OCC_STAR);
-
-			_expected_args.add(st);
-			_expected_args.add(st);
-		}
-		return _expected_args;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AnyAtomicType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AnyAtomicType.java
deleted file mode 100644
index 0b2846b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AnyAtomicType.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-/**
- * Common base for every atomic type
- */
-public abstract class AnyAtomicType extends AnySimpleType {
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AnySimpleType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AnySimpleType.java
deleted file mode 100644
index 7cb6c9f..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AnySimpleType.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-/**
- * Common base for every simple type
- */
-public abstract class AnySimpleType extends AnyType {
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AnyType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AnyType.java
deleted file mode 100644
index 6724dd3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AnyType.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-/**
- * Common base for every type
- */
-public abstract class AnyType {
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return Datatype's full pathname
-	 */
-	public abstract String string_type();
-
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return Datatype's name
-	 */
-	public abstract String string_value();
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AttrType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AttrType.java
deleted file mode 100644
index c579d6a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AttrType.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi  - bug 276134 - improvements to schema aware primitive type support
- *                                 for attribute/element nodes 
- *     Jesper Moller - bug 281159 - we were missing out on qualified attributes
- *     David Carver  - bug 281186 - implementation of fn:id and fn:idref
- *     Jesper Moller- bug 275610 - Avoid big time and memory overhead for externals
- *     David Carver (STAR) - bug 289304 - fixe schema awarness of types on attributes
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.apache.xerces.dom.PSVIAttrNSImpl;
-import org.apache.xerces.xs.XSSimpleTypeDefinition;
-import org.apache.xerces.xs.XSTypeDefinition;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.w3c.dom.Attr;
-import org.w3c.dom.TypeInfo;
-
-/**
- * A representation of the AttributeType datatype
- */
-public class AttrType extends NodeType {
-	private static final String ATTRIBUTE = "attribute";
-	private Attr _value;
-
-	// constructor only usefull for string_type()
-	// XXX needs to be fixed in future
-	/**
-	 * Initialises to null
-	 */
-	public AttrType() {
-		this(null);
-	}
-
-	/**
-	 * Initialises according to the supplied parameters
-	 * 
-	 * @param v
-	 *            The attribute being represented
-	 */
-	public AttrType(Attr v) {
-		super(v);
-		_value = v;
-	}
-
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "attribute" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return ATTRIBUTE;
-	}
-
-	/**
-	 * Retrieves a String representation of the attribute being stored
-	 * 
-	 * @return String representation of the attribute being stored
-	 */
-	@Override
-	public String string_value() {
-		return _value.getValue();
-	}
-
-	/**
-	 * Creates a new ResultSequence consisting of the attribute being stored
-	 * 
-	 * @return New ResultSequence consisting of the attribute being stored
-	 */
-	@Override
-	public ResultSequence typed_value() {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (!(_value instanceof PSVIAttrNSImpl)) {
-			rs.add(new XSUntypedAtomic(string_value()));
-			return rs;
-		}
-		
-		PSVIAttrNSImpl psviAttr = (PSVIAttrNSImpl) _value;
-		XSTypeDefinition typeDef = psviAttr.getTypeDefinition();
-
-		if (typeDef != null) {
-			XSSimpleTypeDefinition simpType = (XSSimpleTypeDefinition) typeDef;
-			Object schemaTypeValue = getTypedValueForPrimitiveType(simpType);
-			if (schemaTypeValue != null) {
-				rs.add((AnyType) schemaTypeValue);
-			} else {
-				rs.add(new XSUntypedAtomic(string_value()));
-			}
-		} else {
-			rs.add(new XSUntypedAtomic(string_value()));
-		}
-
-		return rs;
-	}
-
-	/**
-	 * Retrieves the name of the node
-	 * 
-	 * @return Name of the node
-	 */
-	@Override
-	public QName node_name() {
-		QName name = new QName(_value.getPrefix(), _value.getLocalName(),
-				_value.getNamespaceURI());
-
-		return name;
-	}
-
-	@Override
-	/**
-	 * Checks if the current node is of type ID
-	 * @since 1.1;
-	 */
-	public boolean isID() {
-		return isAttrType(SCHEMA_TYPE_ID);
-	}
-	
-	/**
-	 * 
-	 * @since 1.1
-	 */
-	@Override
-	public boolean isIDREF() {
-		return isAttrType(SCHEMA_TYPE_IDREF);
-	}
-	
-	protected boolean isAttrType(String typeName) {
-		if (_value.getOwnerDocument().isSupported("Core", "3.0")) {
-			return typeInfo(typeName);
-		}
-		return false;
-	}
-	
-	private boolean typeInfo(String typeName) {
-		TypeInfo typeInfo = _value.getSchemaTypeInfo();
-		return isType(typeInfo, typeName);
-	}
-	
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/CalendarType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/CalendarType.java
deleted file mode 100644
index 8b05826..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/CalendarType.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver - bug 280547 - fix dates for comparison 
- *     Jesper Steen Moller  - bug 262765 - fix type tests
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.util.Calendar;
-
-// common base for anything that uses a calendar... basically stuff doing with
-// time... hopefully in the future this may be factored out here
-/**
- * Common base for all Calendar based classes
- */
-public abstract class CalendarType extends CtrType {
-
-	public Calendar normalizeCalendar(Calendar cal, XSDuration timezone) {
-		Calendar adjusted = (Calendar) cal.clone();
-		
-		if (timezone != null) {
-			int hours = timezone.hours();
-			int minutes = timezone.minutes();
-			if (!timezone.negative()) {
-				hours *= -1;
-				minutes *= -1;
-			}
-			adjusted.add(Calendar.HOUR_OF_DAY, hours);
-			adjusted.add(Calendar.MINUTE, minutes);
-		}
-		
-		return adjusted;
-		
-	}
-
-	protected boolean isGDataType(AnyType aat) {
-		if (! (aat instanceof AnyAtomicType)) return false;
-	
-		String type = aat.string_type();
-		if (type.equals("xs:gMonthDay") ||
-			type.equals("xs:gDay") ||
-			type.equals("xs:gMonth") ||
-			type.equals("xs:gYear") ||
-			type.equals("xs:gYearMonth")) {
-			return true;
-		}
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/CommentType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/CommentType.java
deleted file mode 100644
index ad74872..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/CommentType.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Jesper Moller - bug 275610 - Avoid big time and memory overhead for externals
- *     David Carver  - bug 281186 - implementation of fn:id and fn:idref
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.w3c.dom.*;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-/**
- * A representation of the CommentType datatype
- */
-public class CommentType extends NodeType {
-	private static final String COMMENT = "comment";
-	private Comment _value;
-
-	/**
-	 * Initialise according to the supplied parameters
-	 * 
-	 * @param v
-	 *            The comment being represented
-	 */
-	public CommentType(Comment v) {
-		super(v);
-		_value = v;
-	}
-
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "comment" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return COMMENT;
-	}
-
-	/**
-	 * Retrieves a String representation of the comment being stored
-	 * 
-	 * @return String representation of the comment being stored
-	 */
-	@Override
-	public String string_value() {
-		return _value.getNodeValue();
-	}
-
-	/**
-	 * Creates a new ResultSequence consisting of the comment stored
-	 * 
-	 * @return New ResultSequence consisting of the comment stored
-	 */
-	@Override
-	public ResultSequence typed_value() {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		rs.add(new XSString(_value.getData()));
-
-		return rs;
-	}
-
-	/**
-	 * Unsupported method for this node.
-	 * 
-	 * @return null
-	 */
-	@Override
-	public QName node_name() {
-		return null;
-	}
-
-	/**
-	 * @since 1.1
-	 */
-	@Override
-	public boolean isID() {
-		return false;
-	}
-
-	/**
-	 * @since 1.1
-	 */
-	@Override
-	public boolean isIDREF() {
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/CtrType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/CtrType.java
deleted file mode 100644
index 6cae640..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/CtrType.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-
-/**
- * A representation of the CtrType datatype
- */
-public abstract class CtrType extends AnyAtomicType {
-	// used for constructor functions
-	// arg is either empty sequence, or 1 anyatomictype
-	/**
-	 * Used for constructor function.
-	 * 
-	 * @param arg
-	 *            Either an empty sequence or 1 atomic type
-	 * @return The resulting ResultSequence
-	 */
-	public abstract ResultSequence constructor(ResultSequence arg)
-			throws DynamicError;
-
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return String representation of the datatype's name
-	 */
-	public abstract String type_name();
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/DocType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/DocType.java
deleted file mode 100644
index ca69a67..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/DocType.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Moller - bug 275610 - Avoid big time and memory overhead for externals
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.w3c.dom.*;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-/**
- * A representation of the DocumentType datatype
- */
-public class DocType extends NodeType {
-	private static final String DOCUMENT = "document";
-	private Document _value;
-	private String _string_value;
-
-	/**
-	 * Initialises according to the supplied parameters
-	 * 
-	 * @param v
-	 *            The document being represented
-	 */
-	public DocType(Document v) {
-		super(v);
-		_value = v;
-		_string_value = null;
-	}
-
-	/**
-	 * Retrieves the actual document being represented
-	 * 
-	 * @return Actual document being represented
-	 */
-	public Document value() {
-		return _value;
-	}
-
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "document" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return DOCUMENT;
-	}
-
-	/**
-	 * Retrieves a String representation of the document being stored
-	 * 
-	 * @return String representation of the document being stored
-	 */
-	@Override
-	public String string_value() {
-		// XXX caching
-		if (_string_value == null)
-			_string_value = ElementType.textnode_strings(_value);
-
-		return _string_value;
-	}
-
-	/**
-	 * Creates a new ResultSequence consisting of the document being stored
-	 * 
-	 * @return New ResultSequence consisting of the document being stored
-	 */
-	@Override
-	public ResultSequence typed_value() {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		// XXX no psvi
-		rs.add(new XSUntypedAtomic(string_value()));
-
-		return rs;
-	}
-
-	/**
-	 * Retrieves the name of the node
-	 * 
-	 * @return QName representation of the name of the node
-	 */
-	@Override
-	public QName node_name() {
-		return null;
-	}
-
-	/**
-	 * @since 1.1
-	 */
-	@Override
-	public boolean isID() {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	/**
-	 * @since 1.1
-	 */
-	@Override
-	public boolean isIDREF() {
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/ElementType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/ElementType.java
deleted file mode 100644
index 14bd55d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/ElementType.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 276134 - improvements to schema aware primitive type support
- *                                  for attribute/element nodes
- *     Jesper Moller - bug 275610 - Avoid big time and memory overhead for externals
- *     David Carver  - bug 281186 - implementation of fn:id and fn:idref
- *     David Carver (STAR) - bug 289304 - fix schema awarness of types on elements
- *     Jesper Moller - bug 297958 - Fix fn:nilled for elements
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.apache.xerces.dom.PSVIElementNSImpl;
-import org.apache.xerces.xs.XSComplexTypeDefinition;
-import org.apache.xerces.xs.XSSimpleTypeDefinition;
-import org.apache.xerces.xs.XSTypeDefinition;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-import org.w3c.dom.TypeInfo;
-
-/**
- * A representation of the ElementType datatype
- */
-public class ElementType extends NodeType {
-	private static final String ELEMENT = "element";
-
-	private Element _value;
-
-	private String _string_value;
-
-	/**
-	 * Initialises to a null element
-	 */
-	public ElementType() {
-		this(null);
-	}
-
-	/**
-	 * Initialises according to the supplied parameters
-	 * 
-	 * @param v
-	 *            The element being represented
-	 */
-	public ElementType(Element v) {
-		super(v);
-		_value = v;
-
-		_string_value = null;
-	}
-
-	/**
-	 * This deprecated and will be removed. Adopters need to use
-	 * ElementType(Element)
-	 * 
-	 * @param v
-	 * @param nodePosition
-	 * @deprecated Use ElementType(Element v) instead.
-	 */
-	@Deprecated
-	public ElementType(Element v, int nodePosition) {
-		// unused parameter, nodePosition!
-		super(v);
-		_value = v;
-		_string_value = null;
-	}
-
-	/**
-	 * Retrieves the actual element value being represented
-	 * 
-	 * @return Actual element value being represented
-	 */
-	public Element value() {
-		return _value;
-	}
-
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "element" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return ELEMENT;
-	}
-
-	/**
-	 * Retrieves a String representation of the element being stored
-	 * 
-	 * @return String representation of the element being stored
-	 */
-	@Override
-	public String string_value() {
-		// XXX can we cache ?
-		if (_string_value != null)
-			return _string_value;
-
-		_string_value = textnode_strings(_value);
-
-		return _string_value;
-	}
-
-	/**
-	 * Creates a new ResultSequence consisting of the element stored
-	 * 
-	 * @return New ResultSequence consisting of the element stored
-	 */
-	@Override
-	public ResultSequence typed_value() {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-		
-		if (!(_value instanceof PSVIElementNSImpl)) {
-			rs.add(new XSUntypedAtomic(string_value()));
-			return rs;
-		}
-
-		PSVIElementNSImpl typeInfo = (PSVIElementNSImpl) _value;
-
-		XSTypeDefinition typeDef = typeInfo.getTypeDefinition();
-
-		if (typeDef != null) {
-			XSSimpleTypeDefinition simpType = null;
-			if (typeDef instanceof XSComplexTypeDefinition) {
-				XSComplexTypeDefinition complexTypeDefinition = (XSComplexTypeDefinition) typeDef;
-				simpType = complexTypeDefinition.getSimpleType();
-			} else {
-				simpType = (XSSimpleTypeDefinition) typeDef;
-			}
-			Object schemaTypeValue = getTypedValueForPrimitiveType(simpType);
-			if (schemaTypeValue != null) {
-				rs.add((AnyType) schemaTypeValue);
-			} else {
-				rs.add(new XSUntypedAtomic(string_value()));
-			}
-		} else {
-			rs.add(new XSUntypedAtomic(string_value()));
-		}
-
-		return rs;
-	}
-
-	// recursively concatenate TextNode strings
-	/**
-	 * Recursively concatenate TextNode strings
-	 * 
-	 * @param node
-	 *            Node to recurse
-	 * @return String representation of the node supplied
-	 */
-	public static String textnode_strings(Node node) {
-		String result = "";
-
-		if (node.getNodeType() == Node.TEXT_NODE) {
-			Text tn = (Text) node;
-			result += tn.getData();
-		}
-
-		NodeList nl = node.getChildNodes();
-
-		StringBuffer buf = new StringBuffer(result);
-		// concatenate children
-		for (int i = 0; i < nl.getLength(); i++) {
-			Node n = nl.item(i);
-
-			buf.append(textnode_strings(n));
-		}
-
-		result = buf.toString();
-		return result;
-	}
-
-	/**
-	 * Retrieves the name of the node
-	 * 
-	 * @return QName representation of the name of the node
-	 */
-	@Override
-	public QName node_name() {
-		QName name = new QName(_value.getPrefix(), _value.getLocalName(),
-				_value.getNamespaceURI());
-
-		return name;
-	}
-
-	@Override
-	public ResultSequence nilled() {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (_value instanceof PSVIElementNSImpl) {
-			PSVIElementNSImpl psviElement = (PSVIElementNSImpl) _value;
-			rs.add(new XSBoolean(psviElement.getNil()));
-		} else {
-			rs.add(new XSBoolean(false));
-		}
-
-		return rs;
-	}
-
-	/**
-	 * @since 1.1
-	 */
-	@Override
-	public boolean isID() {
-		return isElementType(SCHEMA_TYPE_ID);
-	}
-
-	/**
-	 * @since 1.1
-	 */
-	@Override
-	public boolean isIDREF() {
-		return isElementType(SCHEMA_TYPE_IDREF);
-	}
-
-	protected boolean isElementType(String typeName) {
-		TypeInfo typeInfo = _value.getSchemaTypeInfo();
-		return isType(typeInfo, typeName);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/NodeType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/NodeType.java
deleted file mode 100644
index 9ae81a6..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/NodeType.java
+++ /dev/null
@@ -1,282 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 276134 - improvements to schema aware primitive type support
- *                                 for attribute/element nodes
- *     David Carver (STAR)- bug 277774 - XSDecimal returning wrong values.
- *     Jesper Moller - bug 275610 - Avoid big time and memory overhead for externals
- *     David Carver (STAR) - bug 281186 - implementation of fn:id and fn:idref
- *     David Carver (STAR) - bug 289304 - fixed schema awareness on elements
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import org.apache.xerces.xs.XSTypeDefinition;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Comment;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.ProcessingInstruction;
-import org.w3c.dom.Text;
-import org.w3c.dom.TypeInfo;
-
-/**
- * A representation of a Node datatype
- */
-public abstract class NodeType extends AnyType {
-	protected static final String SCHEMA_TYPE_IDREF = "IDREF";
-	protected static final String SCHEMA_TYPE_ID = "ID";
-	private Node _node;
-
-	/**
-	 * Initialises according to the supplied parameters
-	 * 
-	 * @param node
-	 *            The Node being represented
-	 * @param document_order
-	 *            The document order
-	 */
-	public NodeType(Node node) {
-		_node = node;
-	}
-
-	/**
-	 * Retrieves the actual node being represented
-	 * 
-	 * @return Actual node being represented
-	 */
-	public Node node_value() {
-		return _node;
-	}
-
-	// Accessors defined in XPath Data model
-	// http://www.w3.org/TR/xpath-datamodel/
-	/**
-	 * Retrieves the actual node being represented
-	 * 
-	 * @return Actual node being represented
-	 */
-	public abstract ResultSequence typed_value();
-
-	/**
-	 * Retrieves the name of the node
-	 * 
-	 * @return QName representation of the name of the node
-	 */
-	public abstract QName node_name(); // may return null ["empty sequence"]
-
-	// XXX element should override
-	public ResultSequence nilled() {
-		return ResultSequenceFactory.create_new();
-	}
-
-	// a little factory for converting from DOM to our representation
-	public static NodeType dom_to_xpath(Node node) {
-		assert node != null;
-		
-		switch (node.getNodeType()) {
-		case Node.ELEMENT_NODE:
-			return new ElementType((Element) node);
-
-		case Node.COMMENT_NODE:
-			return new CommentType((Comment) node);
-
-		case Node.ATTRIBUTE_NODE:
-			return new AttrType((Attr) node);
-
-		case Node.TEXT_NODE:
-			return new TextType((Text) node);
-
-		case Node.DOCUMENT_NODE:
-			return new DocType((Document) node);
-
-		case Node.PROCESSING_INSTRUCTION_NODE:
-			return new PIType((ProcessingInstruction) node);
-
-			// XXX
-		default:
-			assert false;
-
-		}
-
-		// unreach... hopefully
-		return null;
-	}
-
-	public static ResultSequence eliminate_dups(ResultSequence rs) {
-		Hashtable added = new Hashtable(rs.size());
-
-		for (Iterator i = rs.iterator(); i.hasNext();) {
-			NodeType node = (NodeType) i.next();
-			Node n = node.node_value();
-
-			if (added.containsKey(n))
-				i.remove();
-			else
-				added.put(n, Boolean.TRUE);
-		}
-		return rs;
-	}
-
-	public static ResultSequence sort_document_order(ResultSequence rs) {
-		ArrayList res = new ArrayList(rs.size());
-
-		for (Iterator i = rs.iterator(); i.hasNext();) {
-			NodeType node = (NodeType) i.next();
-			boolean added = false;
-
-			for (int j = 0; j < res.size(); j++) {
-				NodeType x = (NodeType) res.get(j);
-
-				if (before(node, x)) {
-					res.add(j, node);
-					added = true;
-					break;
-				}
-			}
-			if (!added)
-				res.add(node);
-		}
-
-		rs = ResultSequenceFactory.create_new();
-		for (Iterator i = res.iterator(); i.hasNext();) {
-			NodeType node = (NodeType) i.next();
-
-			rs.add(node);
-		}
-
-		return rs;
-	}
-
-	public static boolean same(NodeType a, NodeType b) {
-		return (a.node_value().isSameNode(b.node_value()));
-		// While compare_node(a, b) == 0 is tempting, it is also expensive
-	}
-
-	public boolean before(NodeType two) {
-		return before(this, two);
-	}
-
-	public static boolean before(NodeType a, NodeType b) {
-		return compare_node(a, b) < 0;
-	}
-
-	public boolean after(NodeType two) {
-		return after(this, two);
-	}
-
-	public static boolean after(NodeType a, NodeType b) {
-		return compare_node(a, b) > 0;
-	}
-	
-	private static int compare_node(NodeType a, NodeType b) {
-		Node nodeA = a.node_value();
-		Node nodeB = b.node_value();
-		
-		if (nodeA == nodeB || nodeA.isSameNode(nodeB)) return 0;
-
-		Document docA = getDocument(nodeA);
-		Document docB = getDocument(nodeB);
-		
-		if (docA != docB && ! docA.isSameNode(docB)) {
-			return compareDocuments(docA, docB);
-		}
-		short relation = nodeA.compareDocumentPosition(nodeB);
-		if ((relation & Node.DOCUMENT_POSITION_PRECEDING) != 0) 
-			  return 1;
-		if ((relation & Node.DOCUMENT_POSITION_FOLLOWING) != 0) 
-			  return -1;
-		throw new RuntimeException("Unexpected result from node comparison: " + relation);
-	}
-
-	private static int compareDocuments(Document docA, Document docB) {
-		// Arbitrary but fulfills the spec (provided documenURI is always set)
-		if (docB.getDocumentURI() == null && docA.getDocumentURI() == null) {
-			// Best guess
-			return 0; 
-		}
-		return docB.getDocumentURI().compareTo(docA.getDocumentURI());
-	}
-
-	private static Document getDocument(Node nodeA) {
-		return nodeA instanceof Document ? (Document)nodeA : nodeA.getOwnerDocument();
-	}
-
-	protected Object getTypedValueForPrimitiveType(XSTypeDefinition typeDef) {		
-		Object schemaTypeValue = null;
-		if (typeDef == null) {
-			return new XSUntypedAtomic(string_value());
-		}
-		String typeName = typeDef.getName();
-		if ("date".equals(typeName)) {		
-		   schemaTypeValue = XSDate.parse_date(string_value());
-		}
-		else if ("int".equals(typeName)) {		
-		   schemaTypeValue = new XSInt(new BigInteger(string_value()));
-		}
-		else if ("long".equals(typeName)) {		
-		  schemaTypeValue = new XSLong(new BigInteger(string_value()));
-	    }
-		else if ("integer".equals(typeName)) {		
-		  schemaTypeValue = new XSInteger(new BigInteger(string_value()));
-		}
-		else if ("double".equals(typeName)) {		
-		  schemaTypeValue = new XSDouble(Double.parseDouble(string_value()));
-		}
-		else if ("float".equals(typeName)) {		
-		  schemaTypeValue = new XSFloat(Float.parseFloat(string_value()));
-	    }
-		else if ("decimal".equals(typeName)) {		
-		  schemaTypeValue = new XSDecimal(new BigDecimal(string_value()));
-		} else if ("dateTime".equals(typeName)) {
-		  schemaTypeValue = XSDateTime.parseDateTime(string_value());
-		} else if ("time".equals(typeName)) {
-			schemaTypeValue = XSTime.parse_time(string_value());
-		} else if ("date".equals(typeName)) {
-			schemaTypeValue = XSDate.parse_date(string_value());
-		} else if ("boolean".equals(typeName)) {
-			schemaTypeValue = new XSBoolean(Boolean.valueOf(string_value()));
-		} else if ("NOTATION".equals(typeName)) {
-			schemaTypeValue = new XSString(string_value());
-		}
-		
-		return schemaTypeValue;
-	}
-	
-	public abstract boolean isID();
-	
-	public abstract boolean isIDREF();
-
-	/**
-	 * Utility method to check to see if a particular TypeInfo matches.
-	 * @param typeInfo
-	 * @param typeName
-	 * @return
-	 */
-	protected boolean isType(TypeInfo typeInfo, String typeName) {
-		if (typeInfo != null) {
-			String typeInfoName = typeInfo.getTypeName();
-			if (typeInfoName != null) {
-				if (typeInfo.getTypeName().equalsIgnoreCase(typeName)) {
-					return true;
-				}
-			} 
-		}
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/NumericType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/NumericType.java
deleted file mode 100644
index 6b52f58..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/NumericType.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.*;
-
-/**
- * A representation of the NumericType datatype
- */
-public abstract class NumericType extends CtrType
-
-implements CmpEq, CmpGt, CmpLt,
-
-MathPlus, MathMinus, MathTimes, MathDiv, MathIDiv, MathMod {
-
-	// XXX needed for fn:boolean
-	/**
-	 * Check whether node represnts 0
-	 * 
-	 * @return True if node represnts 0. False otherwise
-	 */
-	public abstract boolean zero();
-
-	/**
-	 * Creates a new ResultSequence representing the negation of the number
-	 * stored
-	 * 
-	 * @return New ResultSequence representing the negation of the number stored
-	 */
-	public abstract ResultSequence unary_minus();
-
-	// numeric functions
-	/**
-	 * Absolutes the number stored
-	 * 
-	 * @return New NumericType representing the absolute of the number stored
-	 */
-	public abstract NumericType abs();
-
-	/**
-	 * Returns the smallest integer greater than the number stored
-	 * 
-	 * @return A NumericType representing the smallest integer greater than the
-	 *         number stored
-	 */
-	public abstract NumericType ceiling();
-
-	/**
-	 * Returns the largest integer smaller than the number stored
-	 * 
-	 * @return A NumericType representing the largest integer smaller than the
-	 *         number stored
-	 */
-	public abstract NumericType floor();
-
-	/**
-	 * Returns the closest integer of the number stored.
-	 * 
-	 * @return A NumericType representing the closest long of the number stored.
-	 */
-	public abstract NumericType round();
-
-	/**
-	 * Returns the closest integer of the number stored.
-	 * 
-	 * @return A NumericType representing the closest long of the number stored.
-	 */
-	public abstract NumericType round_half_to_even();
-	
-	public abstract NumericType round_half_to_even(int precision);
-
-	protected AnyType get_single_arg(ResultSequence rs) throws DynamicError {
-		if (rs.size() != 1)
-			DynamicError.throw_type_error();
-
-		return rs.first();
-	}
-
-	/***
-	 * Check whether the supplied node is of the supplied type
-	 * 
-	 * @param at
-	 *            The node being tested
-	 * @param type
-	 *            The type expected
-	 * @return The node being tested
-	 * @throws DynamicError
-	 *             If node being tested is not of expected type
-	 */
-	public static AnyType get_single_type(AnyType at, Class type)
-			throws DynamicError {
-
-		if (!type.isInstance(at))
-			DynamicError.throw_type_error();
-
-		return at;
-	}
-
-	/***
-	 * Check whether first node in supplied ResultSequence is of the supplied
-	 * type
-	 * 
-	 * @param rs
-	 *            The node being tested
-	 * @param type
-	 *            The type expected
-	 * @return The node being tested
-	 * @throws DynamicError
-	 *             If node being tested is not of expected type
-	 */
-	public static AnyType get_single_type(ResultSequence rs, Class type)
-			throws DynamicError {
-		if (rs.size() != 1)
-			DynamicError.throw_type_error();
-
-		AnyType at = rs.first();
-
-		if (!type.isInstance(at))
-			DynamicError.throw_type_error();
-
-		return at;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/PIType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/PIType.java
deleted file mode 100644
index 014ef4c..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/PIType.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Jesper Moller- bug 275610 - Avoid big time and memory overhead for externals
- *     David Carver  - bug 281186 - implementation of fn:id and fn:idref
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.w3c.dom.*;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-/**
- * A representation of the ProcessingInstruction datatype
- */
-public class PIType extends NodeType {
-	private static final String PROCESSING_INSTRUCTION = "processing instruction";
-	private ProcessingInstruction _value;
-
-	/**
-	 * Initialises according to the supplied parameters
-	 * 
-	 * @param v
-	 *            The processing instruction this node represents
-	 * @param doc_order
-	 *            The document order
-	 */
-	public PIType(ProcessingInstruction v) {
-		super(v);
-		_value = v;
-	}
-
-	/**
-	 * Retrieves the actual processing instruction this node represents
-	 * 
-	 * @return Actual processing instruction this node represents
-	 */
-	public ProcessingInstruction value() {
-		return _value;
-	}
-
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "processing-instruction" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return PROCESSING_INSTRUCTION;
-	}
-
-	/**
-	 * Retrieves a String representation of the actual processing instruction
-	 * stored
-	 * 
-	 * @return String representation of the actual processing instruction stored
-	 */
-	@Override
-	public String string_value() {
-		return _value.getData();
-	}
-
-	/**
-	 * Creates a new ResultSequence consisting of the processing instruction
-	 * stored
-	 * 
-	 * @return New ResultSequence consisting of the processing instruction
-	 *         stored
-	 */
-	@Override
-	public ResultSequence typed_value() {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		rs.add(new XSString(string_value()));
-
-		return rs;
-	}
-
-	/**
-	 * Constructs the node's name
-	 * 
-	 * @return A QName representation of the node's name
-	 */
-	@Override
-	public QName node_name() {
-		QName name = new QName(null, _value.getTarget());
-
-		name.set_namespace(null);
-
-		return name;
-	}
-
-	/**
-	 * @since 1.1
-	 */
-	@Override
-	public boolean isID() {
-		return false;
-	}
-
-	/**
-	 * @since 1.1
-	 */
-	@Override
-	public boolean isIDREF() {
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/QName.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/QName.java
deleted file mode 100644
index c06c464..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/QName.java
+++ /dev/null
@@ -1,347 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Jesper Moller- bug 281159 - debugging convenience toString method 
- *     David Carver (STAR) - bug 288886 - add unit tests and fix fn:resolve-qname function
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.*;
-
-/**
- * A representation of a QName datatype (name of a node)
- */
-public class QName extends CtrType implements CmpEq {
-	private static final String XS_Q_NAME = "xs:QName";
-	private String _namespace;
-	private String _prefix;
-	private String _local_part;
-	private boolean _expanded;
-
-	/**
-	 * Initialises using the supplied parameters
-	 * 
-	 * @param prefix
-	 *            Prefix of the node name
-	 * @param local_part
-	 *            The node name itself
-	 * @param ns
-	 *            The namespace this nodename belongs to
-	 */
-	public QName(String prefix, String local_part, String ns) {
-		this(prefix, local_part);
-		if (ns != null) {
-			set_namespace(ns);
-		}
-	}
-
-	/**
-	 * Initialises using the supplied parameters
-	 * 
-	 * @param prefix
-	 *            Prefix of the node name
-	 * @param local_part
-	 *            The node name itself
-	 */
-	public QName(String prefix, String local_part) {
-		_prefix = prefix;
-		_local_part = local_part;
-		_expanded = false;
-	}
-
-	/**
-	 * Initialises using only the node name (no prefix)
-	 * 
-	 * @param local_part
-	 *            The node name
-	 */
-	public QName(String local_part) {
-		this(null, local_part);
-		set_namespace(null);
-	}
-
-	/**
-	 * Initialises with a null prefix and null node name
-	 */
-	public QName() {
-		this(null, null);
-	}
-
-	/**
-	 * Creates a new QName by parsing a String representation of the node name
-	 * 
-	 * @param str
-	 *            String representation of the name
-	 * @return null
-	 */
-	public static QName parse_QName(String str) {
-		int occurs = 0;
-		for (Character ch : str.toCharArray()) {
-			if (ch == ':') {
-				occurs +=1;
-			}
-		}
-		
-		if (occurs > 1) {
-			return null;
-		}
-		
-		String[] tokens = str.split(":");
-
-		if (tokens.length == 1)
-			return new QName(tokens[0]);
-		
-		if (tokens.length == 2) {
-				return new QName(tokens[0], tokens[1]);
-		}
-
-		return null;
-	}
-
-	/**
-	 * Creates a new ResultSequence consisting of the extractable QName in the
-	 * supplied ResultSequence
-	 * 
-	 * @param arg
-	 *            The ResultSequence to extract from
-	 * @return New ResultSequence consisting of the QName supplied
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			DynamicError.throw_type_error();
-
-		AnyAtomicType aat = (AnyAtomicType) arg.first();
-
-		if (!(aat instanceof XSString) && !(aat instanceof QName))
-			DynamicError.throw_type_error();
-		
-		String sarg = aat.string_value();
-
-		QName qname = parse_QName(sarg);
-		if (qname == null)
-			return null;
-		rs.add(qname);
-
-		return rs;
-	}
-
-	/**
-	 * Retrieves a String representation of the node name. This method is
-	 * functionally identical to string()
-	 * 
-	 * @return String representation of the node name
-	 */
-	@Override
-	public String string_value() {
-		return string();
-	}
-
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:QName" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_Q_NAME;
-	}
-
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "QName" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "QName";
-	}
-
-	/**
-	 * Retrieves a String representation of the node name. This method is
-	 * functionally identical to string_value()
-	 * 
-	 * @return String representation of the node name
-	 */
-	public String string() {
-		String res = "";
-
-		if (_prefix != null) {
-			res = _prefix + ":";
-		}
-
-		res += _local_part;
-		return res;
-	}
-
-	/**
-	 * Retrieves the full pathname including the namespace. This method must not
-	 * be called if a namespace does exist for this node
-	 * 
-	 * @return Full pathname including namespace
-	 */
-	public String expanded_name() {
-		assert _expanded;
-		// if(!_expanded)
-		// return null;
-
-		String e = "";
-		if (_namespace != null)
-			e += _namespace + ":";
-
-		return e + _local_part;
-	}
-
-	/**
-	 * Retrieves the prefix of the node's pathname
-	 * 
-	 * @return Prefix of the node's pathname
-	 */
-	public String prefix() {
-		return _prefix;
-	}
-
-	/**
-	 * Sets the namespace for this node
-	 * 
-	 * @param n
-	 *            Namespace this node belongs in
-	 */
-	public void set_namespace(String n) {
-		_namespace = n;
-		_expanded = true;
-	}
-
-	/**
-	 * Retrieves the namespace that this node belongs in. This method must not
-	 * be called if the node does not belong in a namespace
-	 * 
-	 * @return Namespace that this node belongs in
-	 */
-	public String namespace() {
-		assert _expanded;
-		return _namespace;
-	}
-
-	/**
-	 * Retrieves the node's name
-	 * 
-	 * @return Node's name
-	 */
-	public String local() {
-		return _local_part;
-	}
-
-	/**
-	 * Check for whether a namespace has been defined for this node
-	 * 
-	 * @return True if a namespace has been defined for node. False otherwise
-	 */
-	public boolean expanded() {
-		return _expanded;
-	}
-
-	/**
-	 * Equality comparison between this QName and a supplied QName
-	 * 
-	 * @param obj
-	 *            The object to compare with. Should be of type QName
-	 * @return True if the two represent the same node. False otherwise
-	 */
-	@Override
-	public boolean equals(Object obj) {
-
-		// make sure we are comparing a qname
-		if (!(obj instanceof QName))
-			return false;
-
-		QName arg = (QName) obj;
-
-		// if they aren't expanded... we can't compare them
-		if (!_expanded || !arg.expanded()) {
-			assert false; // XXX not stricly necessary
-			return false;
-		}
-
-		// two cases: null == null, or .equals(other)
-		String argn = arg.namespace();
-		if (_namespace != null) {
-			if (!_namespace.equals(argn))
-				return false;
-		} else {
-			if (argn != null)
-				return false;
-		}
-
-		String argl = arg.local();
-		// XXX local part should always be non null ?
-		if (_local_part != null) {
-			if (!_local_part.equals(argl))
-				return false;
-		} else {
-			if (argl != null)
-				return false;
-		}
-
-		return true;
-	}
-
-	/**
-	 * Calculates the hashcode for the full pathname
-	 * 
-	 * @return The hashcode for the full pathname
-	 */
-	@Override
-	public int hashCode() {
-		int namespace = 3;
-		int local = 4;
-		int result = 0;
-
-		assert expanded();
-
-		if (_namespace != null)
-			namespace = _namespace.hashCode();
-		if (_local_part != null)
-			local = _local_part.hashCode();
-
-		result = namespace;
-		result ^= (2 * local);
-
-		if (_expanded)
-			result ^= (result + 1);
-
-		return result;
-	}
-
-	/**
-	 * Equality comparison between this QName and the supplied QName
-	 * 
-	 * @param arg
-	 *            The QName to compare with
-	 * @return True if the two represent the same node. False otherwise
-	 * @throws DynamicError
-	 */
-	public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
-		QName val = (QName) NumericType.get_single_type(arg, QName.class);
-		return equals(val);
-	}
-	
-	@Override
-	public String toString() {
-		return string();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/TextType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/TextType.java
deleted file mode 100644
index a58bf35..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/TextType.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Jesper Moller- bug 275610 - Avoid big time and memory overhead for externals
- *     David Carver  - bug 281186 - implementation of fn:id and fn:idref
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.w3c.dom.*;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-/**
- * A representation of the TextType datatype
- */
-public class TextType extends NodeType {
-	private static final String TEXT = "text";
-	private Text _value;
-
-	/**
-	 * Initialises using the supplied parameters
-	 * 
-	 * @param v
-	 *            The value of the TextType node
-	 */
-	public TextType(Text v) {
-		super(v);
-		_value = v;
-	}
-
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "text" which is the datatype's name
-	 */
-	@Override
-	public String string_type() {
-		return TEXT;
-	}
-
-	/**
-	 * Retrieves a String representation of the actual value stored
-	 * 
-	 * @return String representation of the actual value stored
-	 */
-	@Override
-	public String string_value() {
-		return _value.getNodeValue();
-	}
-
-	/**
-	 * Creates a new ResultSequence consisting of the Text value stored
-	 * 
-	 * @return New ResultSequence consisting of the Text value stored
-	 */
-	@Override
-	public ResultSequence typed_value() {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		rs.add(new XSUntypedAtomic(_value.getData()));
-
-		return rs;
-	}
-
-	/**
-	 * Unsupported method for this nodetype.
-	 * 
-	 * @return null (no user defined name for this node gets defined)
-	 */
-	@Override
-	public QName node_name() {
-		return null;
-	}
-
-	/**
-	 * Will always return false;
-	 * @since 1.1
-	 */
-	@Override
-	public boolean isID() {
-
-		return false;
-	}
-
-	/**
-	 * 
-	 * @since 1.1
-	 */
-	@Override
-	public boolean isIDREF() {
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XPathDecimalFormat.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XPathDecimalFormat.java
deleted file mode 100644
index 2443712..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XPathDecimalFormat.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    David Carver - initial API and implementation
- *    Jesper Steen Moller - bug 283404 - fixed locale
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.math.BigDecimal;
-import java.text.DecimalFormat;
-import java.text.DecimalFormatSymbols;
-import java.text.FieldPosition;
-import java.util.Locale;
-
-/**
- * This is an XPath specific implementation of DecimalFormat to handle
- * some of the xpath specific formatting requirements.   Specifically
- * it allows for E# to be represented to indicate that the exponent value
- * is optional.  Otherwise all existing DecimalFormat patterns are handled
- * as is.
- * @author dcarver
- * @see 1.1
- *
- */
-public class XPathDecimalFormat extends DecimalFormat {
-	
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = -8229885955864187400L;
-	private static final String NEG_INFINITY = "-INF";
-	private static final String POS_INFINITY = "INF";
-
-	public XPathDecimalFormat(String pattern) {
-		// Xpath hardcodes this to US locale
-		super(pattern, new DecimalFormatSymbols(Locale.US));
-	}
-
-	/**
-	 * Formats the string dropping a Zero Exponent Value if it exists.
-	 * @param obj
-	 * @return
-	 */
-	public String xpathFormat(Object obj) {
-		return formatXPath(obj);
-	}
-
-	private String formatXPath(Object obj) {
-		String curPattern = toPattern();
-		String newPattern = curPattern.replace("E0", "");
-		if (obj instanceof Float) {
-            return formatFloatValue(obj, curPattern, newPattern);
-		}
-		if (obj instanceof Double) {
-			return formatDoubleValue(obj, curPattern, newPattern);
-		}
-		return super.format(obj, new StringBuffer(), new FieldPosition(0)).toString();
-	}
-
-	private String formatDoubleValue(Object obj, String curPattern,
-			String newPattern) {
-		Double doubleValue = (Double) obj;
-		if (isDoubleNegativeInfinity(doubleValue)) {
-			return NEG_INFINITY;
-		}
-		if (isDoublePositiveInfinity(doubleValue)) {
-			return POS_INFINITY;
-		}
-		doubleXPathPattern(obj, curPattern, newPattern);
-		return format(obj, new StringBuffer(), new FieldPosition(0)).toString();
-	}
-
-	private void doubleXPathPattern(Object obj, String curPattern,
-			String newPattern) {
-		BigDecimal doubValue = BigDecimal.valueOf(((Double) obj));
-		BigDecimal minValue = new BigDecimal("-1E6");
-		BigDecimal maxValue = new BigDecimal("1E6");
-		if (doubValue.compareTo(minValue) > 0 && doubValue.compareTo(maxValue) < 0) {
-			applyPattern(newPattern);
-		} else { //if (doubValue.compareTo(minValue) < 0) {
-			applyPattern(curPattern.replace("0.#", "0.0"));
-		}
-	}
-
-	private boolean isDoublePositiveInfinity(Double doubleValue) {
-		return doubleValue == Double.POSITIVE_INFINITY;
-	}
-
-	private boolean isDoubleNegativeInfinity(Double doubleValue) {
-		return doubleValue == Double.NEGATIVE_INFINITY;
-	}
-
-	private String formatFloatValue(Object obj, String curPattern,
-			String newPattern) {
-		Float floatValue = (Float) obj;
-		if (isFloatNegInfinity(floatValue)) {
-			return NEG_INFINITY;
-		}
-		if (isFloatPosInfinity(floatValue)) {
-			return POS_INFINITY;
-		}
-		floatXPathPattern(curPattern, newPattern, floatValue);
-		return format(obj, new StringBuffer(), new FieldPosition(0)).toString();
-	}
-
-	private boolean isFloatPosInfinity(Float floatValue) {
-		return floatValue == Float.POSITIVE_INFINITY;
-	}
-
-	private boolean isFloatNegInfinity(Float floatValue) {
-		return floatValue == Float.NEGATIVE_INFINITY;
-	}
-
-	private void floatXPathPattern(String curPattern, String newPattern,
-			Float floatValue) {
-		if (floatValue > -1E6f && floatValue < 1E6f) {
-			
-			applyPattern(newPattern);
-		} else if (floatValue <= -1E6f) {
-			applyPattern(curPattern.replace("0.#", "0.0" ));
-		}
-	}
-	
-	
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSAnyURI.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSAnyURI.java
deleted file mode 100644
index 0e1a4bb..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSAnyURI.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug274719 - implementation of equality of xs:anyURI values
- *     David Carver (STAR) - bug 282223 - fixed casting to xs:anyURI only string,
- *         untypedAtomic, and anyURI are allowed.
- *     David Carver (STAR) - bug 283777 - implemented gt, lt comparison code.
- *     Jesper Steen Moller - bug 281159 - added promotion of xs:anyURI to string (reverse case) 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpGt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpLt;
-
-/**
- * Represents a Universal Resource Identifier (URI) reference
- */
-public class XSAnyURI extends CtrType implements CmpEq, CmpGt, CmpLt {
-
-	private static final String XS_ANY_URI = "xs:anyURI";
-	private String _value;
-
-	/**
-	 * Arity 1 Constructor
-	 * 
-	 * @param x
-	 *            String representation of the URI
-	 */
-	public XSAnyURI(String x) {
-		_value = x;
-	}
-
-	/**
-	 * Arity 0 Constructor. Initiates URI to null.
-	 */
-	public XSAnyURI() {
-		this(null);
-	}
-
-	/**
-	 * Retrieve full type pathname of this datatype
-	 * 
-	 * @return "xs:anyURI", the full type pathname of this datatype
-	 */
-	@Override
-	public String string_type() {
-		return XS_ANY_URI;
-	}
-
-	/**
-	 * Retrieve type name of this datatype
-	 * 
-	 * @return "anyURI", the type name of this datatype
-	 */
-	@Override
-	public String type_name() {
-		return "anyURI";
-	}
-
-	/**
-	 * Transforms and retrieves the URI value of this URI datatype in String
-	 * format
-	 * 
-	 * @return the URI value held by this instance of the URI datatype as a
-	 *         String
-	 */
-	@Override
-	public String string_value() {
-		return _value;
-	}
-
-	/**
-	 * Creation of a result sequence consisting of a URI from a previous result
-	 * sequence.
-	 * 
-	 * @param arg
-	 *            previous result sequence
-	 * @throws DynamicError
-	 * @return new result sequence consisting of the URI supplied
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		AnyType aat = arg.first();
-
-		if (!(aat.string_type().equals("xs:string")
-				|| aat.string_type().equals(XS_ANY_URI) || aat.string_type()
-				.equals("xs:untypedAtomic"))) {
-			throw DynamicError.invalidType();
-		}
-
-		rs.add(new XSAnyURI(aat.string_value()));
-
-		return rs;
-	}
-
-	/**
-	 * Equality comparison between this and the supplied representation which
-	 * must be of type xs:anyURI (or, by promotion of this, xs:string)
-	 * 
-	 * @param arg
-	 *            The representation to compare with
-	 * @return True if the two representation are of the same String. False
-	 *         otherwise
-	 * @throws DynamicError
-	 */
-	public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
-		if (arg instanceof XSAnyURI || arg instanceof XSString) {
-			if (this.string_value().equals(arg.string_value())) {
-				return true;
-			}
-		} else {
-			throw DynamicError.throw_type_error();
-		}
-
-		return false;
-	}
-
-	/**
-	 * Greater than comparison between this and the supplied representation which
-	 * must be of type xs:anyURI (or, by promotion of this, xs:string)
-	 * @since 1.1
-	 */
-	public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
-		if (!(arg instanceof XSAnyURI || arg instanceof XSString)) {
-			throw DynamicError.throw_type_error();	
-		}
-		
-		String anyURI = this.string_value();
-		String compareToURI = arg.string_value();
-		if (anyURI.compareTo(compareToURI) > 0) {
-			return true;
-		}
-
-		return false;
-	}
-
-	/**
-	 * Less than comparison between this and the supplied representation which
-	 * must be of type xs:anyURI (or, by promotion of this, xs:string)
-	 * 
-	 * @since 1.1
-	 */
-	public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
-		if (!(arg instanceof XSAnyURI || arg instanceof XSString)) {
-			throw DynamicError.throw_type_error();
-		}
-		
-		String anyURI = this.string_value();
-		String compareToURI = arg.string_value();
-		if (anyURI.compareTo(compareToURI) < 0) {
-			return true;
-		}
-
-		return false;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSBase64Binary.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSBase64Binary.java
deleted file mode 100644
index ec96803..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSBase64Binary.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Mukul Gandhi - bug 281046 - initial API and implementation 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.apache.xerces.impl.dv.util.Base64;
-import org.apache.xerces.impl.dv.util.HexBin;
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-
-/**
- * A representation of the base64Binary datatype
- */
-public class XSBase64Binary extends CtrType implements CmpEq {
-
-	private static final String XS_BASE64_BINARY = "xs:base64Binary";
-	private String _value;
-
-	/**
-	 * Initialises using the supplied String
-	 * 
-	 * @param x
-	 *            The String to initialise to
-	 */
-	public XSBase64Binary(String x) {
-		_value = x;
-	}
-
-	/**
-	 * Initialises to null
-	 */
-	public XSBase64Binary() {
-		this(null);
-	}
-
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:base64Binary" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_BASE64_BINARY;
-	}
-
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "base64Binary" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "base64Binary";
-	}
-
-	/**
-	 * Retrieves a String representation of the base64Binary stored. This method is
-	 * functionally identical to value()
-	 * 
-	 * @return The base64Binary stored
-	 */
-	@Override
-	public String string_value() {
-		return _value;
-	}
-
-	/**
-	 * Retrieves a String representation of the base64Binary stored. This method is
-	 * functionally identical to string_value()
-	 * 
-	 * @return The base64Binary stored
-	 */
-	public String value() {
-		return _value;
-	}
-
-	/**
-	 * Creates a new ResultSequence consisting of the base64Binary value
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which to construct base64Binary value 
-	 * @return New ResultSequence representing base64Binary value 
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		AnyAtomicType aat = (AnyAtomicType) arg.first();
-		if (aat instanceof NumericType || aat instanceof XSDuration ||
-			aat instanceof CalendarType || aat instanceof XSBoolean ||
-			aat instanceof XSAnyURI) {
-			throw DynamicError.invalidType();
-		}
-
-		if (!isCastable(aat)) {
-			throw DynamicError.cant_cast(null);
-		}
-		
-		String str_value = aat.string_value();
-		
-		byte[] decodedValue = Base64.decode(str_value);
-		
-		if (aat instanceof XSHexBinary) {
-			decodedValue = HexBin.decode(str_value);
-			decodedValue = Base64.encode(decodedValue).getBytes();
-		} else {
-			decodedValue = str_value.getBytes();
-		}
-		if (decodedValue != null) {
-		  rs.add(new XSBase64Binary(new String(decodedValue)));
-		}
-		else {
-		  // invalid base64 string
-		  throw DynamicError.throw_type_error();	
-		}
-
-		return rs;
-	}
-
-	private boolean isCastable(AnyAtomicType aat) {
-		if (aat instanceof XSString || aat instanceof XSUntypedAtomic) {
-			return true;
-		}
-		
-		if (aat instanceof XSBase64Binary || aat instanceof XSHexBinary) {
-			return true;
-		}
-		
-		return false;
-	}
-
-	/**
-	 * Equality comparison between this and the supplied representation which
-	 * must be of type base64Binary
-	 * 
-	 * @param arg
-	 *            The representation to compare with
-	 * @return True if the two representation are same. False otherwise.
-	 *         
-	 * @throws DynamicError
-	 */
-	public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
-      String valToCompare = arg.string_value();
-      
-      byte[] value1 = Base64.decode(_value);
-      byte[] value2 = Base64.decode(valToCompare);
-      if (value2 == null) {
-    	return false;  
-      }
-      
-      int len = value1.length;
-      if (len != value2.length) {
-        return false;
-      }
-      
-      for (int i = 0; i < len; i++) {
-        if (value1[i] != value2[i]) {
-          return false;
-        }
-      }
-      
-      return true;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSBoolean.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSBoolean.java
deleted file mode 100644
index 8f0fdf5..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSBoolean.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *     Mukul Gandhi - bug274784 - improvements to xs:boolean data type implementation
- *     David Carver - bug 282223 - corrected casting to boolean.
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpGt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpLt;
-
-/**
- * A representation of a true or a false value.
- */
-public class XSBoolean extends CtrType implements CmpEq, CmpGt, CmpLt {
-	private static final String XS_BOOLEAN = "xs:boolean";
-	private boolean _value;
-
-	/**
-	 * Initiates the new representation to the boolean supplied
-	 * 
-	 * @param x
-	 *       Initializes this datatype to represent this boolean
-	 */
-	public XSBoolean(boolean x) {
-		_value = x;
-	}
-
-	/**
-	 * Initiates to a default representation of false.
-	 */
-	public XSBoolean() {
-	  this(false);
-	}
-
-	/**
-	 * Retrieve the full type pathname of this datatype
-	 * 
-	 * @return "xs:boolean", the full datatype pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_BOOLEAN;
-	}
-
-	/**
-	 * Retrieve the datatype name
-	 * 
-	 * @return "boolean", which is the datatype name.
-	 */
-	@Override
-	public String type_name() {
-		return "boolean";
-	}
-
-	/**
-	 * Retrieve the String representation of the boolean value stored
-	 * 
-	 * @return the String representation of the boolean value stored
-	 */
-	@Override
-	public String string_value() {
-		return "" + _value;
-	}
-
-	/**
-	 * Retrieves the actual boolean value stored
-	 * 
-	 * @return the actual boolean value stored
-	 */
-	public boolean value() {
-		return _value;
-	}
-
-	/**
-	 * Creates a new result sequence consisting of the retrievable boolean value
-	 * in the supplied result sequence
-	 * 
-	 * @param arg
-	 *            The result sequence from which to extract the boolean value.
-	 * @throws DynamicError
-	 * @return A new result sequence consisting of the boolean value supplied.
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-		  return rs;
-		
-		AnyType anyType = arg.first();
-		
-		if (anyType instanceof XSDuration || anyType instanceof CalendarType ||
-			anyType instanceof XSBase64Binary || anyType instanceof XSHexBinary ||
-			anyType instanceof XSAnyURI) {
-			throw DynamicError.invalidType();
-		}
-		
-		String str_value = anyType.string_value();
-		
-		
-		if (!(isCastable(anyType, str_value))) {
-		   throw DynamicError.cant_cast(null);
-		}
-
-		Boolean b = null;
-		if (isFalse(str_value)) {
-		  b = Boolean.FALSE;	
-		}
-		else {
-		  b = Boolean.TRUE;		
-		}
-		
-		rs.add(new XSBoolean(b.booleanValue()));
-
-		return rs;
-	}
-
-	private boolean isFalse(String str_value) {
-		return str_value.equals("0") || str_value.equals("false") ||
-		    str_value.equals("+0") || str_value.equals("-0") ||
-		    str_value.equals("0.0E0") || str_value.equals("NaN");
-	}
-
-	private boolean isCastable(AnyType anyType, String str_value) {
-		return str_value.equals("0") || str_value.equals("1") || 
-			 str_value.equals("true") || str_value.equals("false") ||
-			 anyType instanceof NumericType;
-	}
-
-	// comparisons
-	/**
-	 * Comparison for equality between the supplied and this boolean
-	 * representation. Returns true if both represent same boolean value, false
-	 * otherwise
-	 * 
-	 * @param arg
-	 *            The XSBoolean representation of the boolean value to compare
-	 *            with.
-	 * @throws DynamicError
-	 * @return New XSBoolean representation of true/false result of the equality
-	 *         comparison
-	 */
-	public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
-		XSBoolean barg = (XSBoolean) NumericType.get_single_type(arg,
-				XSBoolean.class);
-
-		return value() == barg.value();
-	}
-
-	/**
-	 * Comparison between the supplied and this boolean representation. Returns
-	 * true if this XSBoolean represents true and that XSBoolean supplied
-	 * represents false. Returns false otherwise
-	 * 
-	 * @param arg
-	 *            The XSBoolean representation of the boolean value to compare
-	 *            with.
-	 * @throws DynamicError
-	 * @return New XSBoolean representation of true/false result of the
-	 *         comparison
-	 */
-	public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
-		XSBoolean barg = (XSBoolean) NumericType.get_single_type(arg,
-				XSBoolean.class);
-
-		boolean result = false;
-
-		if (value() && !barg.value())
-			result = true;
-		return result;
-	}
-
-	/**
-	 * Comparison between the supplied and this boolean representation. Returns
-	 * true if this XSBoolean represents false and that XSBoolean supplied
-	 * represents true. Returns false otherwise
-	 * 
-	 * @param arg
-	 *            The XSBoolean representation of the boolean value to compare
-	 *            with.
-	 * @throws DynamicError
-	 * @return New XSBoolean representation of true/false result of the
-	 *         comparison
-	 */
-	public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
-		XSBoolean barg = (XSBoolean) NumericType.get_single_type(arg,
-				XSBoolean.class);
-
-		boolean result = false;
-
-		if (!value() && barg.value())
-			result = true;
-		return result;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSByte.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSByte.java
deleted file mode 100644
index 09f3047..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSByte.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Mukul Gandhi - bug 277639 - implementation of xs:byte data type
- *     David Carver - bug 262765 - fixed abs value tests.
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.math.BigInteger;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-public class XSByte extends XSShort {
-	
-	private static final String XS_BYTE = "xs:byte";
-
-	/**
-	 * Initializes a representation of 0
-	 */
-	public XSByte() {
-	  this(BigInteger.valueOf(0));
-	}
-	
-	/**
-	 * Initializes a representation of the supplied byte value
-	 * 
-	 * @param x
-	 *            Byte to be stored
-	 */
-	public XSByte(BigInteger x) {
-		super(x);
-	}
-	
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:byte" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_BYTE;
-	}
-	
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "byte" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "byte";
-	}
-	
-	/**
-	 * Creates a new ResultSequence consisting of the extractable 'byte' in the
-	 * supplied ResultSequence
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which the byte is to be extracted
-	 * @return New ResultSequence consisting of the 'byte' supplied
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		// the function conversion rules apply here too. Get the argument
-		// and convert it's string value to a byte.
-		AnyType aat = arg.first();
-
-		try {
-			BigInteger bigInt = new BigInteger(aat.string_value());
-			
-			// doing the range checking
-			BigInteger min = BigInteger.valueOf(-128L);
-			BigInteger max = BigInteger.valueOf(127L);			
-
-			if (bigInt.compareTo(min) < 0 || bigInt.compareTo(max) > 0) {
-			   // invalid input
-			   throw DynamicError.cant_cast(null);	
-			}
-			
-			rs.add(new XSByte(bigInt));
-			
-			return rs;
-		} catch (NumberFormatException e) {
-			throw DynamicError.cant_cast(null);
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDate.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDate.java
deleted file mode 100644
index f42b667..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDate.java
+++ /dev/null
@@ -1,540 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- *     Mukul Gandhi - bug 274792 - improvements to xs:date constructor function.
- *     David Carver - bug 282223 - implementation of xs:duration.
- *                                 fixed casting issue. 
- *     David Carver - bug 280547 - fix dates for comparison 
- *     Jesper Steen Moller  - bug 262765 - fix type tests
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.*;
-
-import java.util.*;
-
-import javax.xml.datatype.DatatypeConfigurationException;
-import javax.xml.datatype.DatatypeFactory;
-import javax.xml.datatype.Duration;
-import javax.xml.datatype.XMLGregorianCalendar;
-
-/**
- * Representation of a date of the form year-month-day and optional timezone
- */
-public class XSDate extends CalendarType implements CmpEq, CmpLt, CmpGt,
-
-MathMinus, MathPlus,
-
-Cloneable {
-	private static final String XS_DATE = "xs:date";
-	private Calendar _calendar;
-	private boolean _timezoned;
-	private XSDuration _tz;
-
-	/**
-	 * Initializes a new representation of a supplied date
-	 * 
-	 * @param cal
-	 *            The Calendar representation of the date to be stored
-	 * @param tz
-	 *            The time zone of the date to be stored.
-	 */
-	public XSDate(Calendar cal, XSDuration tz) {
-		_calendar = cal;
-
-		_tz = tz;
-		if (tz == null)
-			_timezoned = false;
-		else
-			_timezoned = true;
-	}
-
-	/**
-	 * Initializes a new representation of the current date
-	 */
-	public XSDate() {
-		this(new GregorianCalendar(TimeZone.getTimeZone("GMT")), null);
-	}
-
-	/**
-	 * Retrieves the datatype name
-	 * 
-	 * @return "date" which is the dataype name
-	 */
-	@Override
-	public String type_name() {
-		return "date";
-	}
-
-	/**
-	 * Creates a copy of this date representation
-	 * 
-	 * @return A copy of this date representation
-	 */
-	@Override
-	public Object clone() throws CloneNotSupportedException {
-		Calendar c = (Calendar) calendar().clone();
-		XSDuration t = tz();
-
-		if (t != null)
-			t = (XSDuration) t.clone();
-
-		return new XSDate(c, t);
-	}
-
-	/**
-	 * Parses a String representation of a date (of the form year-month-day or
-	 * year-month-day+timezone) and constructs a new XSDate representation of
-	 * it.
-	 * 
-	 * @param str
-	 *            The String representation of the date (and optional timezone)
-	 * @return The XSDate representation of the supplied date
-	 */
-	public static XSDate parse_date(String str) {
-
-		String date = "";
-		String time = "T00:00:00.0";
-
-		int index = str.indexOf('+', 1);
-		if (index == -1) {
-			index = str.indexOf('-', 1);
-			if (index == -1)
-				return null;
-			index = str.indexOf('-', index + 1);
-			if (index == -1)
-				return null;
-			index = str.indexOf('-', index + 1);
-		}
-		if (index == -1)
-			index = str.indexOf('Z', 1);
-		if (index != -1) {
-			date = str.substring(0, index);
-			// here we go
-			date += time;
-			date += str.substring(index, str.length());
-		} else {
-			date = str + time;
-		}
-
-		// sorry again =D
-		XSDateTime dt = XSDateTime.parseDateTime(date);
-		if (dt == null)
-			return null;
-
-		return new XSDate(dt.calendar(), dt.tz());
-	}
-
-	/**
-	 * Creates a new result sequence consisting of the retrievable date value in
-	 * the supplied result sequence
-	 * 
-	 * @param arg
-	 *            The result sequence from which to extract the date value.
-	 * @throws DynamicError
-	 * @return A new result sequence consisting of the date value supplied.
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		AnyType aat = arg.first();
-
-		if (!isCastable(aat)) {
-			throw DynamicError.invalidType();
-		}
-
-		XSDate dt = castDate(aat);
-
-		if (dt == null)
-			throw DynamicError.cant_cast(null);
-
-		rs.add(dt);
-
-		return rs;
-	}
-
-	private boolean isCastable(AnyType aat) {
-
-		// We might be able to cast these.
-		if (aat instanceof XSString || aat instanceof XSUntypedAtomic
-				|| aat instanceof NodeType) {
-			return true;
-		}
-
-		if (aat instanceof XSTime) {
-			return false;
-		}
-
-		if (aat instanceof XSDateTime) {
-			return true;
-
-		}
-
-		if (aat instanceof XSDate) {
-			return true;
-		}
-
-		return false;
-	}
-
-	private XSDate castDate(AnyType aat) {
-		if (aat instanceof XSDate) {
-			XSDate date = (XSDate) aat;
-			return new XSDate(date.calendar(), date.tz());
-		}
-
-		if (aat instanceof XSDateTime) {
-			XSDateTime dateTime = (XSDateTime) aat;
-			return new XSDate(dateTime.calendar(), dateTime.tz());
-		}
-
-		return parse_date(aat.string_value());
-	}
-
-	/**
-	 * Retrieve the year from the date stored
-	 * 
-	 * @return the year value of the date stored
-	 */
-	public int year() {
-		int y = _calendar.get(Calendar.YEAR);
-		if (_calendar.get(Calendar.ERA) == GregorianCalendar.BC)
-			y *= -1;
-
-		return y;
-	}
-
-	/**
-	 * Retrieve the month from the date stored
-	 * 
-	 * @return the month value of the date stored
-	 */
-	public int month() {
-		return _calendar.get(Calendar.MONTH) + 1;
-	}
-
-	/**
-	 * Retrieve the day from the date stored
-	 * 
-	 * @return the day value of the date stored
-	 */
-	public int day() {
-		return _calendar.get(Calendar.DAY_OF_MONTH);
-	}
-
-	/**
-	 * Retrieves whether this date has an optional timezone associated with it
-	 * 
-	 * @return True if there is a timezone associated with this date. False
-	 *         otherwise.
-	 */
-	public boolean timezoned() {
-		return _timezoned;
-	}
-
-	/**
-	 * Retrieves a String representation of the date stored
-	 * 
-	 * @return String representation of the date stored
-	 */
-	@Override
-	public String string_value() {
-		String ret = "";
-
-		Calendar adjustFortimezone = calendar();
-
-		if (adjustFortimezone.get(Calendar.ERA) == GregorianCalendar.BC) {
-			ret += "-";
-		}
-
-		ret += XSDateTime.pad_int(adjustFortimezone.get(Calendar.YEAR), 4);
-
-		ret += "-";
-		ret += XSDateTime.pad_int(month(), 2);
-
-		ret += "-";
-		ret += XSDateTime.pad_int(adjustFortimezone.get(Calendar.DAY_OF_MONTH),
-				2);
-
-		if (timezoned()) {
-			int hrs = _tz.hours();
-			int min = _tz.minutes();
-			double secs = _tz.seconds();
-			if (hrs == 0 && min == 0 && secs == 0) {
-				ret += "Z";
-			} else {
-				String tZoneStr = "";
-				if (_tz.negative()) {
-					tZoneStr += "-";
-				} else {
-					tZoneStr += "+";
-				}
-				tZoneStr += XSDateTime.pad_int(hrs, 2);
-				tZoneStr += ":";
-				tZoneStr += XSDateTime.pad_int(min, 2);
-
-				ret += tZoneStr;
-			}
-		}
-
-		return ret;
-	}
-
-	/**
-	 * Retrive the datatype full pathname
-	 * 
-	 * @return "xs:date" which is the datatype full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_DATE;
-	}
-
-	/**
-	 * Retrieves the Calendar representation of the date stored
-	 * 
-	 * @return Calendar representation of the date stored
-	 */
-	public Calendar calendar() {
-		return _calendar;
-	}
-
-	/**
-	 * Retrieves the timezone associated with the date stored
-	 * 
-	 * @return the timezone associated with the date stored
-	 */
-	public XSDuration tz() {
-		return _tz;
-	}
-
-	// comparisons
-	/**
-	 * Equality comparison on this and the supplied dates (taking timezones into
-	 * account)
-	 * 
-	 * @param arg
-	 *            XSDate representation of the date to compare to
-	 * @throws DynamicError
-	 * @return True if the two dates are represent the same exact point in time.
-	 *         False otherwise.
-	 */
-	public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
-		XSDate val = (XSDate) NumericType.get_single_type(arg, XSDate.class);
-		Calendar thiscal = normalizeCalendar(calendar(), tz());
-		Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-
-		return thiscal.equals(thatcal);
-	}
-
-	/**
-	 * Comparison on this and the supplied dates (taking timezones into account)
-	 * 
-	 * @param arg
-	 *            XSDate representation of the date to compare to
-	 * @throws DynamicError
-	 * @return True if in time, this date lies before the date supplied. False
-	 *         otherwise.
-	 */
-	public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
-		XSDate val = (XSDate) NumericType.get_single_type(arg, XSDate.class);
-		Calendar thiscal = normalizeCalendar(calendar(), tz());
-		Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-
-		return thiscal.before(thatcal);
-	}
-
-	/**
-	 * Comparison on this and the supplied dates (taking timezones into account)
-	 * 
-	 * @param arg
-	 *            XSDate representation of the date to compare to
-	 * @throws DynamicError
-	 * @return True if in time, this date lies after the date supplied. False
-	 *         otherwise.
-	 */
-	public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
-		XSDate val = (XSDate) NumericType.get_single_type(arg, XSDate.class);
-		Calendar thiscal = normalizeCalendar(calendar(), tz());
-		Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-
-		return thiscal.after(thatcal);
-	}
-
-	// XXX this is incorrect [epoch]
-	/**
-	 * Currently unsupported method. Retrieves the date in milliseconds since
-	 * the begining of epoch
-	 * 
-	 * @return Number of milliseconds since the begining of the epoch
-	 */
-	public double value() {
-		return calendar().getTimeInMillis() / 1000.0;
-	}
-
-	// math
-	/**
-	 * Mathematical minus operator between this XSDate and a supplied result
-	 * sequence (XSDate, XSYearMonthDuration and XSDayTimeDuration are only
-	 * valid ones).
-	 * 
-	 * @param arg
-	 *            The supplied ResultSequence that is on the right of the minus
-	 *            operator. If this is an XSDate, the result will be a
-	 *            XSDayTimeDuration of the duration of time between these two
-	 *            dates. If arg is an XSYearMonthDuration or an
-	 *            XSDayTimeDuration the result will be a XSDate of the result of
-	 *            the current date minus the duration of time supplied.
-	 * @return New ResultSequence consisting of the result of the mathematical
-	 *         minus operation.
-	 */
-	public ResultSequence minus(ResultSequence arg) throws DynamicError {
-		if (arg.size() != 1)
-			throw DynamicError.throw_type_error();
-
-		AnyType at = arg.first();
-
-		if (!(at instanceof XSDate) && !(at instanceof XSYearMonthDuration)
-				&& !(at instanceof XSDayTimeDuration)) {
-			throw DynamicError.throw_type_error();
-		}
-
-		if (at instanceof XSDate) {
-			return minusXSDate(arg);
-		}
-		
-		if (at instanceof XSYearMonthDuration) {
-			return minusXSYearMonthDuration(at);
-		}
-		
-		if (at instanceof XSDayTimeDuration) {
-			return minusXSDayTimeDuration(at);
-		}
-
-		return null;
-	}
-
-	private ResultSequence minusXSDayTimeDuration(AnyType at) {
-		XSDuration val = (XSDuration) at;
-
-		try {
-			XSDate res = (XSDate) clone();
-			try {
-				XMLGregorianCalendar xmlCal = DatatypeFactory.newInstance()
-						.newXMLGregorianCalendar(
-								(GregorianCalendar) calendar());
-				Duration dtduration = DatatypeFactory.newInstance()
-						.newDuration(val.string_value());
-				xmlCal.add(dtduration.negate());
-				res = new XSDate(xmlCal.toGregorianCalendar(), res.tz());
-			} catch (DatatypeConfigurationException ex) {
-
-			}
-			return ResultSequenceFactory.create_new(res);
-		} catch (CloneNotSupportedException ex) {
-
-		}
-		return null;
-	}
-
-	private ResultSequence minusXSYearMonthDuration(AnyType at) {
-		XSYearMonthDuration val = (XSYearMonthDuration) at;
-		try {
-			XSDate res = (XSDate) clone();
-
-			res.calendar().add(Calendar.MONTH, val.monthValue() * -1);
-			return ResultSequenceFactory.create_new(res);
-		} catch (CloneNotSupportedException ex) {
-
-		}
-		return null;
-	}
-
-	private ResultSequence minusXSDate(ResultSequence arg) throws DynamicError {
-		XSDate val = (XSDate) NumericType.get_single_type(arg, XSDate.class);
-		Duration dtduration = null;
-		try {
-			Calendar thisCal = normalizeCalendar(calendar(), tz());
-			Calendar thatCal = normalizeCalendar(val.calendar(), val.tz());
-			long duration = thisCal.getTimeInMillis()
-					- thatCal.getTimeInMillis();
-			dtduration = DatatypeFactory.newInstance().newDuration(duration);
-			return ResultSequenceFactory.create_new(XSDayTimeDuration
-					.parseDTDuration(dtduration.toString()));
-
-		} catch (DatatypeConfigurationException ex) {
-
-		}
-		return null;
-	}
-
-	/**
-	 * Mathematical addition operator between this XSDate and a supplied result
-	 * sequence (XDTYearMonthDuration and XDTDayTimeDuration are only valid
-	 * ones).
-	 * 
-	 * @param arg
-	 *            The supplied ResultSequence that is on the right of the minus
-	 *            operator. If arg is an XDTYearMonthDuration or an
-	 *            XDTDayTimeDuration the result will be a XSDate of the result
-	 *            of the current date minus the duration of time supplied.
-	 * @return New ResultSequence consisting of the result of the mathematical
-	 *         minus operation.
-	 */
-	public ResultSequence plus(ResultSequence arg) throws DynamicError {
-		if (arg.size() != 1)
-			DynamicError.throw_type_error();
-
-		AnyType at = arg.first();
-
-		try {
-			if (at instanceof XSYearMonthDuration) {
-				XSYearMonthDuration val = (XSYearMonthDuration) at;
-
-				XSDate res = (XSDate) clone();
-
-				res.calendar().add(Calendar.MONTH, val.monthValue());
-				return ResultSequenceFactory.create_new(res);
-			} else if (at instanceof XSDayTimeDuration) {
-				XSDayTimeDuration val = (XSDayTimeDuration) at;
-
-				XSDate res = (XSDate) clone();
-
-				// We only need to add the Number of days dropping the rest.
-				int days = val.days();
-				if (val.negative()) {
-					days *= -1;
-				}
-				res.calendar().add(Calendar.DAY_OF_MONTH, days);
-
-				res.calendar().add(Calendar.MILLISECOND,
-						(int) (val.time_value() * 1000.0));
-				return ResultSequenceFactory.create_new(res);
-			} else {
-				DynamicError.throw_type_error();
-				return null; // unreach
-			}
-		} catch (CloneNotSupportedException err) {
-			assert false;
-			return null;
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDateTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDateTime.java
deleted file mode 100644
index daa33f3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDateTime.java
+++ /dev/null
@@ -1,980 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- *     Mukul Gandhi - improved string_value() implementation (motivated by bug, 281822)
- *     David Carver - bug 282223 - implementation of xs:duration.
- *                  - bug 262765 - additional tweak to convert 24:00:00 to 00:00:00
- *     David Carver - bug 280547 - fix dates for comparison 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.*;
-
-import java.util.*;
-
-import javax.xml.datatype.DatatypeConfigurationException;
-import javax.xml.datatype.DatatypeFactory;
-import javax.xml.datatype.Duration;
-import javax.xml.datatype.XMLGregorianCalendar;
-
-/**
- * A representation of a date and time (and optional timezone)
- */
-public class XSDateTime extends CalendarType implements CmpEq, CmpLt, CmpGt,
-
-MathMinus, MathPlus,
-
-Cloneable {
-	private static final String XS_DATE_TIME = "xs:dateTime";
-	private Calendar _calendar;
-	private boolean _timezoned;
-	private XSDuration _tz;
-
-	/**
-	 * Initiates a new representation of a supplied date and time
-	 * 
-	 * @param cal
-	 *            The Calendar representation of the date and time to be stored
-	 * @param tz
-	 *            The timezone of the date to be stored.
-	 */
-	public XSDateTime(Calendar cal, XSDuration tz) {
-		_calendar = cal;
-
-		_tz = tz;
-
-		if (tz == null)
-			_timezoned = false;
-		else
-			_timezoned = true;
-	}
-
-	/**
-	 * Creates a copy of this date and time representation
-	 * 
-	 * @return A copy of this date and time representation
-	 */
-	@Override
-	public Object clone() throws CloneNotSupportedException {
-		Calendar c = (Calendar) calendar().clone();
-		XSDuration t = tz();
-
-		if (t != null)
-			t = (XSDuration) t.clone();
-
-		return new XSDateTime(c, t);
-	}
-
-	/**
-	 * Inititates a new representation of the current date and time
-	 */
-	public XSDateTime() {
-		this(new GregorianCalendar(), null);
-	}
-
-	/**
-	 * Retrieves the datatype name
-	 * 
-	 * @return "dateTime" which is the dataype name
-	 */
-	@Override
-	public String type_name() {
-		return "dateTime";
-	}
-
-	/**
-	 * Check to see if a character is numeric
-	 * 
-	 * @param x
-	 *            Character to be tested
-	 * @return True if the character is numeric. False otherwise.
-	 */
-	public static boolean is_digit(char x) {
-		if ('0' <= x && x <= '9')
-			return true;
-		return false;
-	}
-
-	/**
-	 * Parses a String representation of a date and time and retrieves the year,
-	 * month and day from it
-	 * 
-	 * @param str
-	 *            The String representation of the date (and optional timezone)
-	 * @return Integer array of size 3. Element 1 is the year, element 2 is the
-	 *         month and element 3 is the day
-	 */
-	public static int[] parse_date(String str) {
-		int state = 0; // 0 expect year or minus
-		// 1 getting year
-		// 2 getting month
-		// 3 getting day
-
-		int[] ret = new int[3];
-
-		for (int i = 0; i < ret.length; i++)
-			ret[i] = 0;
-
-		String token = "";
-		for (int i = 0; i < str.length(); i++) {
-			char x = str.charAt(i);
-
-			switch (state) {
-			case 0:
-				if (is_digit(x)) {
-					token += x;
-				} else if (x == '-') {
-					token += x;
-				} else
-					return null;
-				state = 1;
-				break;
-
-			case 1:
-				// we got the year in theory...
-				if (x == '-') {
-
-					// check out the unsigned year
-					String uy = token;
-					if (uy.startsWith("-"))
-						uy = uy.substring(1, uy.length());
-					int uyl = uy.length();
-
-					if (uyl < 4)
-						return null;
-
-					if (uyl == 4) {
-						if (uy.compareTo("0000") == 0)
-							return null;
-					} else if (uy.charAt(0) == '0')
-						return null;
-
-					// semms good to me
-					ret[0] = Integer.parseInt(token);
-					token = "";
-					state = 2;
-				} else if (is_digit(x))
-					token += x;
-				else
-					return null;
-				break;
-
-			case 2:
-				// we got the month
-				if (x == '-') {
-					if (token.length() != 2)
-						return null;
-
-					ret[1] = Integer.parseInt(token);
-					token = "";
-					state = 3;
-				} else if (is_digit(x))
-					token += x;
-				else
-					return null;
-				break;
-
-			case 3:
-				// getting day
-				if (is_digit(x))
-					token += x;
-				else
-					return null;
-				break;
-
-			default:
-				assert false;
-				return ret;
-			}
-		}
-		if (state != 3)
-			return null;
-
-		// got the day
-		if (token.length() != 2)
-			return null;
-
-		ret[2] = Integer.parseInt(token);
-
-		return ret;
-	}
-
-	// return
-	// hour
-	// minute
-	// seconds
-	/**
-	 * Parses a String representation of a date and time and retrieves the hour,
-	 * minute and seconds from it
-	 * 
-	 * @param str
-	 *            The String representation of the date (and optional timezone)
-	 * @return Integer array of size 3. Element 1 is the hour, element 2 is the
-	 *         minute and element 3 is the seconds
-	 */
-	public static double[] parse_time(String str) {
-		int state = 0; // 0 getting minute
-		// 1 getting hour
-		// 2 getting seconds [the whole part]
-		// 3 getting fraction of seconds
-
-		double[] ret = new double[3];
-
-		String token = "";
-
-		for (int i = 0; i < str.length(); i++) {
-			char x = str.charAt(i);
-
-			switch (state) {
-			case 0:
-			case 1:
-				// got minute / hour
-				if (x == ':') {
-					if (token.length() != 2)
-						return null;
-					ret[state] = Integer.parseInt(token);
-					state++;
-					token = "";
-				} else if (is_digit(x))
-					token += x;
-				else
-					return null;
-				break;
-
-			case 2:
-				if (is_digit(x)) {
-					token += x;
-					if (token.length() > 2)
-						return null;
-				} else if (x == '.') {
-					token += x;
-					state = 3;
-				} else
-					return null;
-				break;
-
-			case 3:
-				if (is_digit(x))
-					token += x;
-				else
-					return null;
-				break;
-
-			default:
-				assert false;
-				return null;
-			}
-		}
-		if (!(state == 3 || state == 2))
-			return null;
-
-		// get seconds
-		// this is whole + dot + nothing else
-		if (token.length() == 3)
-			return null;
-
-		ret[2] = Double.parseDouble(token);
-
-		if (ret[0] == 24.0) {
-			ret[0] = 00.0;
-		}
-
-		// XXX sanity check args...
-		return ret;
-	}
-
-	// returns
-	// positive/negative
-	// hour
-	// minute
-	/**
-	 * Parses a String representation of a date and time and retrieves the
-	 * timezone from it
-	 * 
-	 * @param str
-	 *            The String representation of the date (and optional timezone)
-	 * @return Integer array of size 3. Element 1 represents whether the
-	 *         timezone is ahead or behind GMT, element 2 is the hour
-	 *         displacement and element 3 is the minute displacement.
-	 */
-	public static int[] parse_timezone(String str) {
-		int[] ret = new int[3];
-
-		for (int i = 0; i < ret.length; i++)
-			ret[i] = 0;
-		ret[0] = 1;
-
-		if (str.equals("Z")) {
-			return ret;
-		}
-
-		// get initial plus/minus
-		if (str.startsWith("+"))
-			ret[0] = 1;
-		else if (str.startsWith("-"))
-			ret[0] = -1;
-		else
-			return null;
-
-		str = str.substring(1, str.length());
-
-		if (str.length() != (2 + 1 + 2))
-			return null;
-
-		try {
-			ret[1] = Integer.parseInt(str.substring(0, 2));
-			ret[2] = Integer.parseInt(str.substring(3, 5));
-
-			// According to schema spec, timezone is limited to
-			// this... [well.. almost...]
-			if (ret[1] > 14)
-				return null;
-			if (ret[2] > 59)
-				return null;
-
-			return ret;
-		} catch (NumberFormatException err) {
-			return null;
-		}
-	}
-
-	/**
-	 * Attempts to set a particular field in the Calendar
-	 * 
-	 * @param cal
-	 *            The Calendar object to set the field in
-	 * @param item
-	 *            The field to set
-	 * @param val
-	 *            The value to set the field to
-	 * @return True if successfully set. False otherwise (due to out of bounds
-	 *         for that field)
-	 */
-	private static boolean set_item(Calendar cal, int item, int val) {
-		int min = cal.getActualMinimum(item);
-
-		if (val < min)
-			return false;
-
-		int max = cal.getActualMaximum(item);
-
-		if (val > max)
-			return false;
-
-		cal.set(item, val);
-		return true;
-	}
-
-	/**
-	 * Parses a String representation of a date and time and constructs a new
-	 * XSDateTime object using that information
-	 * 
-	 * @param str
-	 *            The String representation of the date (and optional timezone)
-	 * @return The XSDateTime representation of the date and time (and optional
-	 *         timezone)
-	 */
-	public static XSDateTime parseDateTime(String str) {
-		// oh no... not again
-
-		// ok its three things:
-		// date T time timezone
-
-		int index = str.indexOf('T');
-		if (index == -1)
-			return null;
-
-		// split date and rest...
-		String date = str.substring(0, index);
-		String time = str.substring(index + 1, str.length());
-		String timezone = null;
-
-		// check for timezone
-		index = time.indexOf('+');
-		if (index == -1)
-			index = time.indexOf('-');
-		if (index == -1)
-			index = time.indexOf('Z');
-		if (index != -1) {
-			timezone = time.substring(index, time.length());
-			time = time.substring(0, index);
-		}
-
-		// get date
-		int d[] = parse_date(date);
-		if (d == null)
-			return null;
-
-		// SANITY CHEX
-		TimeZone UTC = TimeZone.getTimeZone("UTC");
-		GregorianCalendar cal = new GregorianCalendar(UTC);
-
-		// year
-		int year = d[0];
-		if (year < 0) {
-			year *= -1;
-			cal.set(Calendar.ERA, GregorianCalendar.BC);
-		} else {
-			cal.set(Calendar.ERA, GregorianCalendar.AD);
-		}
-
-		// this is a nice bug....
-		// if say the current day is 29...
-		// then if we set the month to feb for example, and 29 doesn't
-		// exist in that year, then the date screws up.
-		cal.set(Calendar.DAY_OF_MONTH, 2);
-		cal.set(Calendar.MONTH, 2);
-
-		if (!set_item(cal, Calendar.YEAR, year))
-			return null;
-
-		if (!set_item(cal, Calendar.MONTH, d[1] - 1))
-			return null;
-
-		if (!set_item(cal, Calendar.DAY_OF_MONTH, d[2]))
-			return null;
-
-		// get time
-		double t[] = parse_time(time);
-		if (t == null)
-			return null;
-
-		if (!set_item(cal, Calendar.HOUR_OF_DAY, (int) t[0]))
-			return null;
-
-		if (!set_item(cal, Calendar.MINUTE, (int) t[1]))
-			return null;
-
-		if (!set_item(cal, Calendar.SECOND, (int) t[2]))
-			return null;
-
-		double ms = t[2] - ((int) t[2]);
-		ms *= 1000;
-		if (!set_item(cal, Calendar.MILLISECOND, (int) ms))
-			return null;
-
-		// get timezone
-		int tz[] = null;
-		XSDuration tzd = null;
-		if (timezone != null) {
-			tz = parse_timezone(timezone);
-
-			if (tz == null)
-				return null;
-
-			tzd = new XSDayTimeDuration(0, tz[1], tz[2], 0.0, tz[0] < 0);
-
-		}
-
-		return new XSDateTime(cal, tzd);
-	}
-
-	/**
-	 * Creates a new result sequence consisting of the retrievable date and time
-	 * value in the supplied result sequence
-	 * 
-	 * @param arg
-	 *            The result sequence from which to extract the date and time
-	 *            value.
-	 * @throws DynamicError
-	 * @return A new result sequence consisting of the date and time value
-	 *         supplied.
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		AnyAtomicType aat = (AnyAtomicType) arg.first();
-		if (aat instanceof NumericType || aat instanceof XSDuration
-				|| aat instanceof XSTime || isGDataType(aat)
-				|| aat instanceof XSBoolean || aat instanceof XSBase64Binary
-				|| aat instanceof XSHexBinary || aat instanceof XSAnyURI) {
-			throw DynamicError.invalidType();
-		}
-
-		if (!isCastable(aat)) {
-			throw DynamicError.cant_cast(null);
-		}
-
-		CalendarType dt = castDateTime(aat);
-
-		if (dt == null)
-			throw DynamicError.cant_cast(null);
-
-		rs.add(dt);
-
-		return rs;
-	}
-
-	private boolean isCastable(AnyAtomicType aat) {
-		if (aat instanceof XSString || aat instanceof XSUntypedAtomic) {
-			return true;
-		}
-
-		if (aat instanceof XSTime) {
-			return false;
-		}
-
-		if (aat instanceof XSDate || aat instanceof XSDateTime) {
-			return true;
-		}
-
-		return false;
-	}
-
-	private CalendarType castDateTime(AnyAtomicType aat) {
-		if (aat instanceof XSDate) {
-			XSDate date = (XSDate) aat;
-			return new XSDateTime(date.calendar(), date.tz());
-		}
-
-		if (aat instanceof XSDateTime) {
-			XSDateTime dateTime = (XSDateTime) aat;
-			return new XSDateTime(dateTime.calendar(), dateTime.tz());
-		}
-
-		return parseDateTime(aat.string_value());
-	}
-
-	/**
-	 * Retrieve the year from the date stored
-	 * 
-	 * @return the year value of the date stored
-	 */
-	public int year() {
-		int y = _calendar.get(Calendar.YEAR);
-		if (_calendar.get(Calendar.ERA) == GregorianCalendar.BC)
-			y *= -1;
-
-		return y;
-	}
-
-	/**
-	 * Retrieve the month from the date stored
-	 * 
-	 * @return the month value of the date stored
-	 */
-	public int month() {
-		return _calendar.get(Calendar.MONTH) + 1;
-	}
-
-	/**
-	 * Retrieve the day from the date stored
-	 * 
-	 * @return the day value of the date stored
-	 */
-	public int day() {
-		return _calendar.get(Calendar.DAY_OF_MONTH);
-	}
-
-	/**
-	 * Retrieve the hour from the date stored
-	 * 
-	 * @return the hour value of the date stored
-	 */
-	public int hour() {
-		return _calendar.get(Calendar.HOUR_OF_DAY);
-	}
-
-	/**
-	 * Retrieve the minute from the date stored
-	 * 
-	 * @return the minute value of the date stored
-	 */
-	public int minute() {
-		return _calendar.get(Calendar.MINUTE);
-	}
-
-	/**
-	 * Retrieve the seconds from the date stored
-	 * 
-	 * @return the seconds value of the date stored
-	 */
-	public double second() {
-		double s = _calendar.get(Calendar.SECOND);
-
-		double ms = _calendar.get(Calendar.MILLISECOND);
-
-		ms /= 1000;
-
-		s += ms;
-		return s;
-	}
-
-	public boolean timezoned() {
-		return _timezoned;
-	}
-
-	/**
-	 * Pads the supplied number to the supplied number of digits by adding 0's
-	 * in front of it
-	 * 
-	 * @param num
-	 *            Number that si to be padded (if neccessay)
-	 * @param len
-	 *            Desired length after padding
-	 * @return String representation of the padded integer
-	 */
-	public static String pad_int(int num, int len) {
-		String ret = "";
-		String snum = "" + num;
-
-		int pad = len - snum.length();
-
-		// sort out the negative
-		if (num < 0) {
-			ret += "-";
-			snum = snum.substring(1, snum.length());
-			pad++;
-		}
-
-		StringBuffer buf = new StringBuffer(ret);
-		for (int i = 0; i < pad; i++) {
-			buf.append("0");
-		}
-		buf.append(snum);
-		ret = buf.toString();
-		return ret;
-	}
-
-	/**
-	 * Retrieves a String representation of the date and time stored
-	 * 
-	 * @return String representation of the date and time stored
-	 */
-	@Override
-	public String string_value() {
-		String ret = "";
-
-		Calendar adjustFortimezone = calendar();
-
-		if (adjustFortimezone.get(Calendar.ERA) == GregorianCalendar.BC) {
-			ret += "-";
-		}
-
-		ret += pad_int(adjustFortimezone.get(Calendar.YEAR), 4);
-
-		ret += "-";
-		ret += pad_int(month(), 2);
-
-		ret += "-";
-		ret += pad_int(adjustFortimezone.get(Calendar.DAY_OF_MONTH), 2);
-
-		// time
-		ret += "T";
-
-		ret += pad_int(adjustFortimezone.get(Calendar.HOUR_OF_DAY), 2);
-
-		ret += ":";
-		ret += pad_int(adjustFortimezone.get(Calendar.MINUTE), 2);
-
-		ret += ":";
-		int isecond = (int) second();
-		double sec = second();
-
-		if ((sec - (isecond)) == 0.0)
-			ret += pad_int(isecond, 2);
-		else {
-			if (sec < 10.0)
-				ret += "0" + sec;
-			else
-				ret += sec;
-		}
-
-		if (timezoned()) {
-			int hrs = _tz.hours();
-			int min = _tz.minutes();
-			double secs = _tz.seconds();
-			if (hrs == 0 && min == 0 && secs == 0) {
-				ret += "Z";
-			} else {
-				String tZoneStr = "";
-				if (_tz.negative()) {
-					tZoneStr += "-";
-				} else {
-					tZoneStr += "+";
-				}
-				tZoneStr += pad_int(hrs, 2);
-				tZoneStr += ":";
-				tZoneStr += pad_int(min, 2);
-
-				ret += tZoneStr;
-			}
-		}
-
-		return ret;
-	}
-
-	/**
-	 * Retrive the datatype full pathname
-	 * 
-	 * @return "xs:dateTime" which is the datatype full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_DATE_TIME;
-	}
-
-	/**
-	 * Retrieves the Calendar representation of the date stored
-	 * 
-	 * @return Calendar representation of the date stored
-	 */
-	public Calendar calendar() {
-		return _calendar;
-	}
-
-	// comparisons
-	/**
-	 * Equality comparison on this and the supplied dates and times (taking
-	 * timezones into account)
-	 * 
-	 * @param arg
-	 *            XSDateTime representation of the date to compare to
-	 * @throws DynamicError
-	 * @return True if the two dates and times are represent the same exact
-	 *         point in time. False otherwise.
-	 */
-	public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
-		XSDateTime val = (XSDateTime) NumericType.get_single_type(arg,
-				XSDateTime.class);
-		Calendar thiscal = normalizeCalendar(calendar(), tz());
-		Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-
-		return thiscal.equals(thatcal);
-	}
-
-	/**
-	 * Comparison on this and the supplied dates and times (taking timezones
-	 * into account)
-	 * 
-	 * @param arg
-	 *            XSDateTime representation of the date to compare to
-	 * @throws DynamicError
-	 * @return True if in time, this date and time lies before the date and time
-	 *         supplied. False otherwise.
-	 */
-	public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
-		XSDateTime val = (XSDateTime) NumericType.get_single_type(arg,
-				XSDateTime.class);
-		Calendar thiscal = normalizeCalendar(calendar(), tz());
-		Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-
-		return thiscal.before(thatcal);
-	}
-
-	/**
-	 * Comparison on this and the supplied dates and times (taking timezones
-	 * into account)
-	 * 
-	 * @param arg
-	 *            XSDateTime representation of the date to compare to
-	 * @throws DynamicError
-	 * @return True if in time, this date and time lies after the date and time
-	 *         supplied. False otherwise.
-	 */
-	public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
-		XSDateTime val = (XSDateTime) NumericType.get_single_type(arg,
-				XSDateTime.class);
-		Calendar thiscal = normalizeCalendar(calendar(), tz());
-		Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-
-		return thiscal.after(thatcal);
-	}
-
-	/**
-	 * Retrieves the timezone associated with the date stored
-	 * 
-	 * @return the timezone associated with the date stored
-	 */
-	public XSDuration tz() {
-		return _tz;
-	}
-
-	// XXX this is incorrect [epoch]
-	/**
-	 * Currently unsupported method. Retrieves the date in milliseconds since
-	 * the begining of epoch
-	 * 
-	 * @return Number of milliseconds since the begining of the epoch
-	 */
-	public double value() {
-		return calendar().getTimeInMillis() / 1000.0;
-	}
-
-	// math
-	/**
-	 * Mathematical minus operator between this XSDateTime and a supplied result
-	 * sequence (XSDateTime, XDTYearMonthDuration and XDTDayTimeDuration are
-	 * only valid ones).
-	 * 
-	 * @param arg
-	 *            The supplied ResultSequence that is on the right of the minus
-	 *            operator. If this is an XSDateTime, the result will be a
-	 *            XDTDayTimeDuration of the duration of time between these two
-	 *            dates. If arg is an XDTYearMonthDuration or an
-	 *            XDTDayTimeDuration the result will be a XSDateTime of the
-	 *            result of the current date minus the duration of time
-	 *            supplied.
-	 * @return New ResultSequence consisting of the result of the mathematical
-	 *         minus operation.
-	 */
-	public ResultSequence minus(ResultSequence arg) throws DynamicError {
-		if (arg.size() != 1)
-			DynamicError.throw_type_error();
-
-		AnyType at = arg.first();
-
-		if (!(at instanceof XSDateTime) && !(at instanceof XSYearMonthDuration)
-				&& !(at instanceof XSDayTimeDuration)) {
-			DynamicError.throw_type_error();
-		}
-
-		if (at instanceof XSDateTime) {
-			return minusXSDateTime(arg);
-		}
-
-		if (at instanceof XSYearMonthDuration) {
-			return minusXSYearMonthDuration(at);
-		}
-
-		if (at instanceof XSDayTimeDuration) {
-			return minusXSDayTimeDuration(at);
-		}
-		return null; // unreach
-
-	}
-
-	private ResultSequence minusXSDateTime(ResultSequence arg)
-			throws DynamicError {
-		XSDateTime val = (XSDateTime) NumericType.get_single_type(arg,
-				XSDateTime.class);
-
-		Duration dtduration = null;
-		try {
-			Calendar thisCal = normalizeCalendar(calendar(), tz());
-			Calendar thatCal = normalizeCalendar(val.calendar(), val.tz());
-			long duration = thisCal.getTimeInMillis()
-					- thatCal.getTimeInMillis();
-			dtduration = DatatypeFactory.newInstance()
-					.newDuration(duration);
-			return ResultSequenceFactory.create_new(XSDayTimeDuration
-					.parseDTDuration(dtduration.toString()));
-		} catch (DatatypeConfigurationException ex) {
-
-		}
-		return null;
-	}
-
-	private ResultSequence minusXSDayTimeDuration(AnyType at) {
-		XSDuration val = (XSDuration) at;
-
-		try {
-			XSDateTime res = (XSDateTime) clone();
-
-			try {
-				XMLGregorianCalendar xmlCal = DatatypeFactory
-						.newInstance()
-						.newXMLGregorianCalendar((GregorianCalendar) calendar());
-				Duration dtduration = DatatypeFactory.newInstance()
-						.newDuration(val.string_value());
-				xmlCal.add(dtduration.negate());
-				res = new XSDateTime(xmlCal.toGregorianCalendar(), res.tz());
-			} catch (DatatypeConfigurationException ex) {
-
-			}
-
-			return ResultSequenceFactory.create_new(res);
-		} catch (CloneNotSupportedException ex) {
-
-		}
-		return null;
-	}
-
-	private ResultSequence minusXSYearMonthDuration(AnyType at) {
-		XSYearMonthDuration val = (XSYearMonthDuration) at;
-
-		try {
-			XSDateTime res = (XSDateTime) clone();
-
-			res.calendar().add(Calendar.MONTH, val.monthValue() * -1);
-			return ResultSequenceFactory.create_new(res);
-		} catch (CloneNotSupportedException ex) {
-
-		}
-		return null;
-	}
-
-	/**
-	 * Mathematical addition operator between this XSDateTime and a supplied
-	 * result sequence (XDTYearMonthDuration and XDTDayTimeDuration are only
-	 * valid ones).
-	 * 
-	 * @param arg
-	 *            The supplied ResultSequence that is on the right of the minus
-	 *            operator. If arg is an XDTYearMonthDuration or an
-	 *            XDTDayTimeDuration the result will be a XSDateTime of the
-	 *            result of the current date minus the duration of time
-	 *            supplied.
-	 * @return New ResultSequence consisting of the result of the mathematical
-	 *         minus operation.
-	 */
-	public ResultSequence plus(ResultSequence arg) throws DynamicError {
-		if (arg.size() != 1)
-			DynamicError.throw_type_error();
-
-		AnyType at = arg.first();
-
-		try {
-			if (at instanceof XSYearMonthDuration) {
-				XSYearMonthDuration val = (XSYearMonthDuration) at;
-
-				XSDateTime res = (XSDateTime) clone();
-
-				res.calendar().add(Calendar.MONTH, val.monthValue());
-				return ResultSequenceFactory.create_new(res);
-			} else if (at instanceof XSDayTimeDuration) {
-				XSDuration val = (XSDuration) at;
-
-				XSDateTime res = (XSDateTime) clone();
-
-				try {
-					XMLGregorianCalendar xmlCal = DatatypeFactory.newInstance()
-							.newXMLGregorianCalendar(
-									(GregorianCalendar) calendar());
-					Duration dtduration = DatatypeFactory.newInstance()
-							.newDuration(val.string_value());
-					xmlCal.add(dtduration);
-					res = new XSDateTime(xmlCal.toGregorianCalendar(), res.tz());
-				} catch (DatatypeConfigurationException ex) {
-
-				}
-
-				return ResultSequenceFactory.create_new(res);
-			} else {
-				DynamicError.throw_type_error();
-				return null; // unreach
-			}
-		} catch (CloneNotSupportedException err) {
-			assert false;
-			return null;
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDayTimeDuration.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDayTimeDuration.java
deleted file mode 100644
index 5840ecf..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDayTimeDuration.java
+++ /dev/null
@@ -1,397 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 273760 - wrong namespace for functions and data types 
- *     Mukul Gandhi - bug 279377 - improvements to multiplication and division operations
- *                                 on xs:dayTimeDuration.
- *     David Carver - bug 282223 - implementation of xs:duration
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.util.Calendar;
-import javax.xml.datatype.DatatypeConfigurationException;
-import javax.xml.datatype.DatatypeFactory;
-import javax.xml.datatype.Duration;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.*;
-
-/**
- * A representation of the DayTimeDuration datatype
- */
-public class XSDayTimeDuration extends XSDuration implements CmpEq, CmpLt,
-		CmpGt,
-
-		MathPlus, MathMinus, MathTimes, MathDiv,
-
-		Cloneable {
-
-
-	private static final String XS_DAY_TIME_DURATION = "xs:dayTimeDuration";
-
-	/**
-	 * Initialises to the supplied parameters. If more than 24 hours is
-	 * supplied, the number of days is adjusted acordingly. The same occurs for
-	 * minutes and seconds
-	 * 
-	 * @param days
-	 *            Number of days in this duration of time
-	 * @param hours
-	 *            Number of hours in this duration of time
-	 * @param minutes
-	 *            Number of minutes in this duration of time
-	 * @param seconds
-	 *            Number of seconds in this duration of time
-	 * @param negative
-	 *            True if this duration of time represents a backwards passage
-	 *            through time. False otherwise
-	 */
-	public XSDayTimeDuration(int days, int hours, int minutes, double seconds,
-			boolean negative) {
-		super(0, 0, days, hours, minutes, seconds, negative);
-	}
-
-	/**
-	 * Initialises to the given number of seconds
-	 * 
-	 * @param secs
-	 *            Number of seconds in the duration of time
-	 */
-	public XSDayTimeDuration(double secs) {
-		super(0, 0, 0, 0, 0, Math.abs(secs), secs < 0);
-	}
-
-	/**
-	 * Initialises to a duration of no time (0days, 0hours, 0minutes, 0seconds)
-	 */
-	public XSDayTimeDuration() {
-		super(0, 0, 0, 0, 0, 0.0, false);
-	}
-
-	/**
-	 * Creates a copy of this representation of a time duration
-	 * 
-	 * @return New XSDayTimeDuration representing the duration of time stored
-	 * @throws CloneNotSupportedException
-	 */
-	@Override
-	public Object clone() throws CloneNotSupportedException {
-		return new XSDayTimeDuration(days(), hours(), minutes(), seconds(),
-				negative());
-	}
-
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-	
-		if (arg.empty())
-			return rs;
-	
-		AnyAtomicType aat = (AnyAtomicType) arg.first();
-		if (aat instanceof NumericType || aat instanceof CalendarType ||
-			aat instanceof XSBoolean || aat instanceof XSBase64Binary ||
-			aat instanceof XSHexBinary || aat instanceof XSAnyURI) {
-			throw DynamicError.invalidType();
-		}
-
-		if (!isCastable(aat)) {
-			throw DynamicError.cant_cast(null);
-		}
-	
-		XSDuration dtd = castDayTimeDuration(aat);
-	
-		if (dtd == null)
-			throw DynamicError.cant_cast(null);
-	
-		rs.add(dtd);
-	
-		return rs;
-	}
-	
-	private XSDuration castDayTimeDuration(AnyAtomicType aat) {
-		if (aat instanceof XSDuration) {
-			XSDuration duration = (XSDuration) aat;
-			return new XSDayTimeDuration(duration.days(), duration.hours(), duration.minutes(), duration.seconds(), duration.negative());
-		}
-		
-		return parseDTDuration(aat.string_value());
-	}
-
-	
-	/**
-	 * Creates a new XSDayTimeDuration by parsing the supplied String
-	 * represented duration of time
-	 * 
-	 * @param str
-	 *            String represented duration of time
-	 * @return New XSDayTimeDuration representing the duration of time supplied
-	 */
-	public static XSDuration parseDTDuration(String str) {
-		boolean negative = false;
-		int days = 0;
-		int hours = 0;
-		int minutes = 0;
-		double seconds = 0;
-
-		// string following the P
-		String pstr = null;
-		String tstr = null;
-
-		// get the negative and pstr
-		if (str.startsWith("-P")) {
-			negative = true;
-			pstr = str.substring(2, str.length());
-		} else if (str.startsWith("P")) {
-			negative = false;
-			pstr = str.substring(1, str.length());
-		} else
-			return null;
-
-		try {
-			// get the days
-			int index = pstr.indexOf('D');
-			boolean did_something = false;
-
-			// no D... must have T
-			if (index == -1) {
-				if (pstr.startsWith("T")) {
-					tstr = pstr.substring(1, pstr.length());
-				} else
-					return null;
-			} else {
-				String digit = pstr.substring(0, index);
-				days = Integer.parseInt(digit);
-				tstr = pstr.substring(index + 1, pstr.length());
-
-				if (tstr.startsWith("T")) {
-					tstr = tstr.substring(1, tstr.length());
-				} else {
-					if (tstr.length() > 0)
-						return null;
-					tstr = "";
-					did_something = true;
-				}
-			}
-
-			// do the T str
-
-			// hour
-			index = tstr.indexOf('H');
-			if (index != -1) {
-				String digit = tstr.substring(0, index);
-				hours = Integer.parseInt(digit);
-				tstr = tstr.substring(index + 1, tstr.length());
-				did_something = true;
-			}
-			// minute
-			index = tstr.indexOf('M');
-			if (index != -1) {
-				String digit = tstr.substring(0, index);
-				minutes = Integer.parseInt(digit);
-				tstr = tstr.substring(index + 1, tstr.length());
-				did_something = true;
-			}
-			// seconds
-			index = tstr.indexOf('S');
-			if (index != -1) {
-				String digit = tstr.substring(0, index);
-				seconds = Double.parseDouble(digit);
-				tstr = tstr.substring(index + 1, tstr.length());
-				did_something = true;
-			}
-			if (did_something) {
-				// make sure we parsed it all
-				if (tstr.length() != 0)
-					return null;
-			} else {
-				return null;
-			}
-
-		} catch (NumberFormatException err) {
-			return null;
-		}
-
-		return new XSDayTimeDuration(days, hours, minutes, seconds, negative);
-	}
-
-	/**
-	 * Retrives the datatype's name
-	 * 
-	 * @return "dayTimeDuration" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "dayTimeDuration";
-	}
-
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:dayTimeDuration" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_DAY_TIME_DURATION;
-	}
-
-	/**
-	 * Mathematical addition between this duration stored and the supplied
-	 * duration of time (of type XSDayTimeDuration)
-	 * 
-	 * @param arg
-	 *            The duration of time to add
-	 * @return New XSDayTimeDuration representing the resulting duration after
-	 *         the addition
-	 * @throws DynamicError
-	 */
-	public ResultSequence plus(ResultSequence arg) throws DynamicError {
-		XSDuration val = (XSDuration) NumericType
-				.get_single_type(arg, XSDayTimeDuration.class);
-		
-		double res = value() + val.value();
-
-		return ResultSequenceFactory.create_new(new XSDayTimeDuration(res));
-	}
-
-	/**
-	 * Mathematical subtraction between this duration stored and the supplied
-	 * duration of time (of type XSDayTimeDuration)
-	 * 
-	 * @param arg
-	 *            The duration of time to subtract
-	 * @return New XSDayTimeDuration representing the resulting duration after
-	 *         the subtraction
-	 * @throws DynamicError
-	 */
-	public ResultSequence minus(ResultSequence arg) throws DynamicError {
-		XSDuration val = (XSDuration) NumericType
-				.get_single_type(arg, XSDayTimeDuration.class);
-
-		double res = value() - val.value();
-
-		return ResultSequenceFactory.create_new(new XSDayTimeDuration(res));
-	}
-
-	/**
-	 * Mathematical multiplication between this duration stored and the supplied
-	 * duration of time (of type XSDayTimeDuration)
-	 * 
-	 * @param arg
-	 *            The duration of time to multiply by
-	 * @return New XSDayTimeDuration representing the resulting duration after
-	 *         the multiplication
-	 * @throws DynamicError
-	 */
-	public ResultSequence times(ResultSequence arg) throws DynamicError {
-		ResultSequence convertedRS = arg;
-		
-		if (arg.size() == 1) {
-			AnyType argValue = arg.first();
-            if (argValue instanceof XSDecimal) {
-            	convertedRS = ResultSequenceFactory.create_new(new XSDouble(argValue.string_value()));	
-            }
-		}
-		
-		XSDouble val = (XSDouble) NumericType.get_single_type(convertedRS,
-				                                  XSDouble.class);
-		if (val.nan()) {
-			throw DynamicError.nan();
-		}
-
-		double res = value() * val.double_value();
-
-		return ResultSequenceFactory.create_new(new XSDayTimeDuration(res));
-	}
-
-	/**
-	 * Mathematical division between this duration stored and the supplied
-	 * duration of time (of type XSDayTimeDuration)
-	 * 
-	 * @param arg
-	 *            The duration of time to divide by
-	 * @return New XSDayTimeDuration representing the resulting duration after
-	 *         the division
-	 * @throws DynamicError
-	 */
-	public ResultSequence div(ResultSequence arg) throws DynamicError {
-		if (arg.size() != 1)
-			DynamicError.throw_type_error();
-
-		AnyType at = arg.first();
-
-		if (at instanceof XSDouble) {
-			XSDouble dt = (XSDouble) at;
-			double retval = 0;
-			
-			if (dt.nan()) {
-				throw DynamicError.nan();
-			}
-			
-			if (!dt.zero()) {
-				BigDecimal ret = BigDecimal.ZERO;
-				
-				if (dt.infinite()) {
-					retval = value() / dt.double_value();
-				} else {
-					ret = BigDecimal.valueOf(value());
-					ret = ret.divide(BigDecimal.valueOf(dt.double_value()), 18, RoundingMode.HALF_EVEN);
-					retval = ret.doubleValue();
-				}
-			} else {
-				throw DynamicError.overflowUnderflow();
-			}
-//				ret = value() / dt.double_value();
-			
-
-			return ResultSequenceFactory
-					.create_new(new XSDayTimeDuration(retval));
-		} else if (at instanceof XSDecimal) {
-			XSDecimal dt = (XSDecimal) at;
-			
-			BigDecimal ret = BigDecimal.ZERO;
-							
-			if (!dt.zero()) {
-				ret = BigDecimal.valueOf(value());
-				ret = ret.divide(dt.getValue(), 18, RoundingMode.HALF_EVEN);
-			} else {
-				throw DynamicError.overflowUnderflow();
-			}
-			
-			return ResultSequenceFactory.create_new(new XSDayTimeDuration(
-					ret.intValue()));	
-		} else if (at instanceof XSDayTimeDuration) {
-			XSDuration md = (XSDuration) at;
-
-			BigDecimal res = null;
-			try {
-                Duration thisDuration  = DatatypeFactory.newInstance().newDuration(string_value());
-				Duration mdduration = DatatypeFactory.newInstance().newDuration(md.string_value());
-				double thistime = thisDuration.getTimeInMillis(Calendar.getInstance());
-				double thattime = mdduration.getTimeInMillis(Calendar.getInstance());
-				res = BigDecimal.valueOf(thistime);
-				BigDecimal l = BigDecimal.valueOf(thattime);
-				res = res.divide(l, 18, RoundingMode.HALF_EVEN);
-			} catch (DatatypeConfigurationException ex) {
-				
-			}
-
-//			double res = value() / md.value();
-
-			return ResultSequenceFactory.create_new(new XSDecimal(res));
-		} else {
-			DynamicError.throw_type_error();
-			return null; // unreach
-		}
-	}
-	
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDecimal.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDecimal.java
deleted file mode 100644
index ddbb68b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDecimal.java
+++ /dev/null
@@ -1,503 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 274805 - improvements to xs:integer data type
- *     David Carver (STAR) - bug 277774 - XSDecimal returning wrong values.
- *     David Carver (STAR) - bug 262765 - various numeric formatting fixes and calculations
- *     David Carver (STAR) - bug 282223 - Can't Cast Exponential values to Decimal values.
- *     David Carver (STAR) - bug 262765 - fixed edge case where rounding was occuring when it shouldn't. 
- *     Jesper Steen Moller - bug 262765 - fix type tests
- *     David Carver (STAR) - bug 262765 - fixed abs value tests.
- *     Jesper Steen Moller - bug 281028 - fixed division of zero (no, not by)
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.math.MathContext;
-import java.math.RoundingMode;
-import java.util.Iterator;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-/**
- * A representation of the Decimal datatype
- */
-public class XSDecimal extends NumericType {
-
-	private static final String XS_DECIMAL = "xs:decimal";
-	private BigDecimal _value;
-	private XPathDecimalFormat format = new XPathDecimalFormat("0.####################");
-
-	/**
-	 * Initiates a representation of 0.0
-	 */
-	public XSDecimal() {
-		this(BigDecimal.ZERO);
-	}
-
-	/**
-	 * Initiates a representation of the supplied number
-	 * 
-	 * @param x
-	 *            Number to be stored
-	 */
-	public XSDecimal(BigDecimal x) {
-		_value = x;
-	}
-	
-	public XSDecimal(String x) {
-		_value = new BigDecimal(x, MathContext.DECIMAL128);
-	}
-
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:decimal" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_DECIMAL;
-	}
-
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "decimal" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "decimal";
-	}
-
-	/**
-	 * Retrieves a String representation of the Decimal value stored
-	 * 
-	 * @return String representation of the Decimal value stored
-	 */
-	@Override
-	public String string_value() {
-		
-		if (zero()) {
-			return "0";
-		}
-		
-		_value = _value.stripTrailingZeros();
-		return format.xpathFormat(_value);
-	}
-
-	/**
-	 * Check if this XSDecimal represents 0
-	 * 
-	 * @return True if this XSDecimal represents 0. False otherwise
-	 */
-	@Override
-	public boolean zero() {
-		return (_value.compareTo(BigDecimal.valueOf(0.0)) == 0);
-	}
-
-	/**
-	 * Creates a new result sequence consisting of the retrievable decimal
-	 * number in the supplied result sequence
-	 * 
-	 * @param arg
-	 *            The result sequence from which to extract the decimal number.
-	 * @throws DynamicError
-	 * @return A new result sequence consisting of the decimal number supplied.
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		AnyType aat = arg.first();
-		
-		if (aat instanceof XSDuration || aat instanceof CalendarType ||
-			aat instanceof XSBase64Binary || aat instanceof XSHexBinary ||
-			aat instanceof XSAnyURI) {
-			throw DynamicError.invalidType();
-		}
-		
-		if (aat.string_value().contains("-INF")) {
-			throw DynamicError.cant_cast(null);
-		}
-		
-		if (!isLexicalValue(aat.string_value())) {
-			throw DynamicError.invalidLexicalValue();
-		}
-		
-		if (!isCastable(aat)) {
-			throw DynamicError.cant_cast(null);
-		}
-
-		try {
-			// XPath doesn't allow for converting Exponents to Decimal values.
-			
-			XSDecimal decimal = castDecimal(aat);
-			
-			rs.add(decimal);
-			return rs;
-		} catch (NumberFormatException e) {
-			throw DynamicError.cant_cast(null);
-		}
-
-	}
-
-	protected boolean isLexicalValue(String value) {
-		if (value.equalsIgnoreCase("inf")) {
-			return false;
-		}
-		
-		if (value.equalsIgnoreCase("-inf")) {
-			return false;
-		}
-		return true;
-	}
-	private boolean isCastable(AnyType aat) throws DynamicError {
-		if (aat instanceof XSBoolean || aat instanceof NumericType) {
-			return true;
-		}		
-		
-		if (aat.string_value().contains("E") || aat.string_value().contains("e") && !(aat instanceof XSBoolean)) {
-			return false;
-		}
-
-		if (aat instanceof XSString || aat instanceof XSUntypedAtomic ||
-			aat instanceof NodeType) {
-			return true;
-		}
-		return false;
-	}
-
-	private XSDecimal castDecimal(AnyType aat) {
-		if (aat instanceof XSBoolean) {
-			if (aat.string_value().equals("true")) {
-				return new XSDecimal(BigDecimal.ONE);
-			} else {
-				return new XSDecimal(BigDecimal.ZERO);
-			}
-		}
-		return new XSDecimal(aat.string_value());
-	}
-	
-	/**
-	 * Retrieves the actual value of the number stored
-	 * 
-	 * @return The actual value of the number stored
-	 * @deprecated Use getValue() instead.
-	 */
-	@Deprecated
-	public double double_value() {
-		return _value.doubleValue();
-	}
-	
-	public BigDecimal getValue() {
-		return _value;
-	}
-
-	/**
-	 * Sets the number stored to that supplied
-	 * 
-	 * @param x
-	 *            Number to be stored
-	 */
-	public void set_double(double x) {
-		_value = BigDecimal.valueOf(x);
-	}
-
-	// comparisons
-	/**
-	 * Equality comparison between this number and the supplied representation.
-	 * @param at
-	 *            Representation to be compared with (must currently be of type
-	 *            XSDecimal)
-	 * 
-	 * 
-	 * @return True if the 2 representation represent the same number. False
-	 *         otherwise
-	 */
-	public boolean eq(AnyType at, DynamicContext context) throws DynamicError {
-		XSDecimal dt = null;
-		if (!(at instanceof XSDecimal)) { 
-			ResultSequence rs = ResultSequenceFactory.create_new(at);
-			
-			ResultSequence crs = constructor(rs);
-			if (crs.empty()) {
-				throw DynamicError.throw_type_error();
-			}
-		
-			AnyType cat = crs.first();
-
-			dt = (XSDecimal) cat;
-	    } else {
-	    	dt = (XSDecimal) at;
-	    }
-		return (_value.compareTo(dt.getValue()) == 0);
-	}
-
-	/**
-	 * Comparison between this number and the supplied representation. 
-	 * 
-	 * @param arg
-	 *            Representation to be compared with (must currently be of type
-	 *            XSDecimal)
-	 * @return True if the supplied type represents a number smaller than this
-	 *         one stored. False otherwise
-	 */
-	public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
-		AnyType carg = convertArg(arg);
-		
-		XSDecimal val = (XSDecimal) get_single_type(carg, XSDecimal.class);
-		return (_value.compareTo(val.getValue()) == 1);
-	}
-
-	protected AnyType convertArg(AnyType arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new(arg);
-		rs = constructor(rs);
-		AnyType carg = rs.first();
-		return carg;
-	}
-	
-	/**
-	 * Comparison between this number and the supplied representation. 
-	 * 
-	 * @param arg
-	 *            Representation to be compared with (must currently be of type
-	 *            XSDecimal)
-	 * @return True if the supplied type represents a number greater than this
-	 *         one stored. False otherwise
-	 */
-	public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
-		AnyType carg = convertArg(arg);
-		XSDecimal val = (XSDecimal) get_single_type(carg, XSDecimal.class);
-		return (_value.compareTo(val.getValue()) == -1);
-	}
-
-	// math
-	/**
-	 * Mathematical addition operator between this XSDecimal and the supplied
-	 * ResultSequence. Due to no numeric type promotion or conversion, the
-	 * ResultSequence must be of type XSDecimal.
-	 * 
-	 * @param arg
-	 *            The ResultSequence to perform an addition with
-	 * @return A XSDecimal consisting of the result of the mathematical
-	 *         addition.
-	 */
-	public ResultSequence plus(ResultSequence arg) throws DynamicError {
-		// get arg
-		ResultSequence carg = convertResultSequence(arg);
-		AnyType at = get_single_arg(carg);
-		if (!(at instanceof XSDecimal))
-			DynamicError.throw_type_error();
-		XSDecimal dt = (XSDecimal) at;
-
-		// own it
-		return ResultSequenceFactory.create_new(new XSDecimal(_value.add(dt.getValue())));
-	}
-	
-	private ResultSequence convertResultSequence(ResultSequence arg)
-			throws DynamicError {
-		ResultSequence carg = arg;
-		Iterator it = carg.iterator();
-		while (it.hasNext()) {
-			AnyType type = (AnyType) it.next();
-			if (type.string_type().equals("xs:untypedAtomic") ||
-				type.string_type().equals("xs:string")) {
-				throw DynamicError.invalidType();
-			}
-		}
-		carg = constructor(carg);
-		return carg;
-	}	
-
-	/**
-	 * Mathematical subtraction operator between this XSDecimal and the supplied
-	 * ResultSequence. 
-	 * 
-	 * @param arg
-	 *            The ResultSequence to perform a subtraction with
-	 * @return A XSDecimal consisting of the result of the mathematical
-	 *         subtraction.
-	 */
-	public ResultSequence minus(ResultSequence arg) throws DynamicError {
-		
-		ResultSequence carg = convertResultSequence(arg);
-
-		AnyType at = get_single_arg(carg);
-		if (!(at instanceof XSDecimal))
-			DynamicError.throw_type_error();
-		XSDecimal dt = (XSDecimal) at;
-
-		return ResultSequenceFactory.create_new(new XSDecimal(_value.subtract(dt.getValue())));
-	}
-
-	/**
-	 * Mathematical multiplication operator between this XSDecimal and the
-	 * supplied ResultSequence. 
-	 * 
-	 * @param arg
-	 *            The ResultSequence to perform a multiplication with
-	 * @return A XSDecimal consisting of the result of the mathematical
-	 *         multiplication.
-	 */
-	public ResultSequence times(ResultSequence arg) throws DynamicError {
-		ResultSequence carg = convertResultSequence(arg);
-
-		XSDecimal val = (XSDecimal) get_single_type(carg, XSDecimal.class);
-		BigDecimal result = _value.multiply(val.getValue());
-		return ResultSequenceFactory.create_new(new XSDecimal(result));
-	}
-
-	/**
-	 * Mathematical division operator between this XSDecimal and the supplied
-	 * ResultSequence. 
-	 * 
-	 * @param arg
-	 *            The ResultSequence to perform a division with
-	 * @return A XSDecimal consisting of the result of the mathematical
-	 *         division.
-	 */
-	public ResultSequence div(ResultSequence arg) throws DynamicError {
-		ResultSequence carg = convertResultSequence(arg);
-			
-		XSDecimal val = (XSDecimal) get_single_type(carg, XSDecimal.class);
-		if (val.zero()) {
-			throw DynamicError.div_zero(null);
-		}
-		BigDecimal result = getValue().divide(val.getValue(), 18, RoundingMode.HALF_EVEN);
-		return ResultSequenceFactory.create_new(new XSDecimal(result));
-	}
-
-	/**
-	 * Mathematical integer division operator between this XSDecimal and the
-	 * supplied ResultSequence. Due to no numeric type promotion or conversion,
-	 * the ResultSequence must be of type XSDecimal.
-	 * 
-	 * @param arg
-	 *            The ResultSequence to perform an integer division with
-	 * @return A XSInteger consisting of the result of the mathematical integer
-	 *         division.
-	 */
-	public ResultSequence idiv(ResultSequence arg) throws DynamicError {
-		ResultSequence carg = convertResultSequence(arg);
-
-		XSDecimal val = (XSDecimal) get_single_type(carg, XSDecimal.class);
-
-		if (val.zero())
-			throw DynamicError.div_zero(null);
-		BigInteger _ivalue = _value.toBigInteger();
-		BigInteger ival =  val.getValue().toBigInteger();
-		BigInteger result = _ivalue.divide(ival);
-		return ResultSequenceFactory.create_new(new 
-				           XSInteger(result));
-	}
-
-	/**
-	 * Mathematical modulus operator between this XSDecimal and the supplied
-	 * ResultSequence. Due to no numeric type promotion or conversion, the
-	 * ResultSequence must be of type XSDecimal.
-	 * 
-	 * @param arg
-	 *            The ResultSequence to perform a modulus with
-	 * @return A XSDecimal consisting of the result of the mathematical modulus.
-	 */
-	public ResultSequence mod(ResultSequence arg) throws DynamicError {
-		ResultSequence carg = convertResultSequence(arg);
-
-		XSDecimal val = (XSDecimal) get_single_type(carg, XSDecimal.class);
-		BigDecimal result = _value.remainder(val.getValue());
-		return ResultSequenceFactory.create_new(new XSDecimal(result));
-	}
-
-	/**
-	 * Negation of the number stored
-	 * 
-	 * @return A XSDecimal representing the negation of this XSDecimal
-	 */
-	@Override
-	public ResultSequence unary_minus() {
-		BigDecimal result = _value.negate();
-		return ResultSequenceFactory.create_new(new XSDecimal(result));
-	}
-
-	// functions
-	/**
-	 * Absolutes the number stored
-	 * 
-	 * @return A XSDecimal representing the absolute value of the number stored
-	 */
-	@Override
-	public NumericType abs() {
-		return new XSDecimal(_value.abs());
-	}
-
-	/**
-	 * Returns the smallest integer greater than the number stored
-	 * 
-	 * @return A XSDecimal representing the smallest integer greater than the
-	 *         number stored
-	 */
-	@Override
-	public NumericType ceiling() {
-		BigDecimal ceiling = _value.setScale(0, RoundingMode.CEILING);
-		return new XSDecimal(ceiling);
-	}
-
-	/**
-	 * Returns the largest integer smaller than the number stored
-	 * 
-	 * @return A XSDecimal representing the largest integer smaller than the
-	 *         number stored
-	 */
-	@Override
-	public NumericType floor() {
-		BigDecimal floor = _value.setScale(0, RoundingMode.FLOOR);
-		return new XSDecimal(floor);
-	}
-
-	/**
-	 * Returns the closest integer of the number stored.
-	 * 
-	 * @return A XSDecimal representing the closest long of the number stored.
-	 */
-	@Override
-	public NumericType round() {
-		BigDecimal round = _value.setScale(0, RoundingMode.UP);
-		return new XSDecimal(round);
-	}
-
-	/**
-	 * Returns the closest integer of the number stored.
-	 * 
-	 * @return A XSDecimal representing the closest long of the number stored.
-	 */
-	@Override
-	public NumericType round_half_to_even() {
-		return round_half_to_even(0);
-	}
-
-	/**
-	 * Returns the closest integer of the number stored with the specified precision.
-	 * 
-	 * @param precision An integer precision 
-	 * @return A XSDecimal representing the closest long of the number stored.
-	 */
-	@Override
-	public NumericType round_half_to_even(int precision) {
-		BigDecimal round = _value.setScale(precision, RoundingMode.HALF_EVEN);
-		return new XSDecimal(round);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDouble.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDouble.java
deleted file mode 100644
index 1de1292..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDouble.java
+++ /dev/null
@@ -1,533 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 274805 - improvements to xs:integer data type
- *     David Carver - bug 277770 - format of XSDouble for zero values incorrect.
- *     Mukul Gandhi - bug 279406 - improvements to negative zero values for xs:double
- *     David Carver (STAR) - bug 262765 - various numeric formatting fixes and calculations
- *     David Carver (STAR) - bug 262765 - fixed rounding errors.      
- *     Jesper Steen Moller - Bug 286062 - Fix idiv error cases and increase precision  
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.util.Iterator;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-/**
- * A representation of the Double datatype
- */
-public class XSDouble extends NumericType {
-
-	private static final String XS_DOUBLE = "xs:double";
-	private Double _value;
-	private XPathDecimalFormat format = new XPathDecimalFormat(
-			"0.################E0");
-
-	/**
-	 * Initialises a representation of the supplied number
-	 * 
-	 * @param x
-	 *            Number to be stored
-	 */
-	public XSDouble(double x) {
-		_value = new Double(x);
-	}
-
-	/**
-	 * Initializes a representation of 0
-	 */
-	public XSDouble() {
-		this(0);
-	}
-
-	/**
-	 * Initialises using a String represented number
-	 * 
-	 * @param init
-	 *            String representation of the number to be stored
-	 */
-	public XSDouble(String init) throws DynamicError {
-		try {
-			if (init.equals("-INF")) {
-				_value = Double.NEGATIVE_INFINITY;
-			} else if (init.equals("INF")) {
-				_value = Double.POSITIVE_INFINITY;
-			} else {
-				_value = new Double(init);
-			}
-		} catch (NumberFormatException e) {
-			throw DynamicError.cant_cast(null);
-		}
-	}
-
-	/**
-	 * Creates a new representation of the String represented number
-	 * 
-	 * @param i
-	 *            String representation of the number to be stored
-	 * @return New XSDouble representing the number supplied
-	 */
-	public static XSDouble parse_double(String i) {
-		try {
-			Double d = null;
-			if (i.equals("INF")) {
-				d = Double.POSITIVE_INFINITY;
-			} else if (i.equals("-INF")) {
-				d = Double.NEGATIVE_INFINITY;
-			} else {
-				d = new Double(i);
-			}
-			return new XSDouble(d.doubleValue());
-		} catch (NumberFormatException e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Creates a new result sequence consisting of the retrievable double number
-	 * in the supplied result sequence
-	 * 
-	 * @param arg
-	 *            The result sequence from which to extract the double number.
-	 * @throws DynamicError
-	 * @return A new result sequence consisting of the double number supplied.
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		AnyType aat = arg.first();
-
-		if (aat instanceof XSDuration || aat instanceof CalendarType ||
-			aat instanceof XSBase64Binary || aat instanceof XSHexBinary ||
-			aat instanceof XSAnyURI) {
-			throw DynamicError.invalidType();
-		}
-		
-		if (!isCastable(aat)) {
-			throw DynamicError.cant_cast(null);
-		}
-
-		XSDouble d = castDouble(aat);
-		
-		if (d == null)
-			throw DynamicError.cant_cast(null);
-
-		rs.add(d);
-		return rs;
-	}
-	
-	private boolean isCastable(AnyType aat) {
-		if (aat instanceof XSString || aat instanceof XSUntypedAtomic ||
-			aat instanceof NodeType) {
-			return true;
-		}
-		if (aat instanceof XSBoolean || aat instanceof NumericType) {
-			return true;
-		}
-		return false;
-	}
-	
-	private XSDouble castDouble(AnyType aat) {
-		if (aat instanceof XSBoolean) {
-			if (aat.string_value().equals("true")) {
-				return new XSDouble(new Double("1.0E0"));
-			} else {
-				return new XSDouble(new Double("0.0E0"));
-			}
-		}
-		return parse_double(aat.string_value());
-		
-	}
-
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:double" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_DOUBLE;
-	}
-
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "double" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "double";
-	}
-
-	/**
-	 * Retrieves a String representation of the Decimal value stored
-	 * 
-	 * @return String representation of the Decimal value stored
-	 */
-	@Override
-	public String string_value() {
-		if (zero()) {
-			return "0";
-		}
-
-		if (negativeZero()) {
-			return "-0";
-		}
-
-		if (nan()) {
-			return "NaN";
-		}
-
-		return format.xpathFormat(_value);
-	}
-
-	/**
-	 * Check for whether this XSDouble represents NaN
-	 * 
-	 * @return True if this XSDouble represents NaN. False otherwise.
-	 */
-	public boolean nan() {
-		return Double.isNaN(_value);
-	}
-
-	/**
-	 * Check for whether this XSDouble represents an infinite number (negative or positive)
-	 * 
-	 * @return True if this XSDouble represents infinity. False otherwise.
-	 */
-	public boolean infinite() {
-		return Double.isInfinite(_value);
-	}
-
-	/**
-	 * Check for whether this XSDouble represents 0
-	 * 
-	 * @return True if this XSDouble represents 0. False otherwise.
-	 */
-	@Override
-	public boolean zero() {
-		return (Double.compare(_value, 0.0E0) == 0);
-	}
-
-	/*
-	 * Check for whether this XSDouble represents -0
-	 * 
-	 * @return True if this XSDouble represents -0. False otherwise.
-	 * 
-	 * @since 1.1
-	 */
-	public boolean negativeZero() {
-		return (Double.compare(_value, -0.0E0) == 0);
-	}
-
-	/**
-	 * Retrieves the actual value of the number stored
-	 * 
-	 * @return The actual value of the number stored
-	 */
-	public double double_value() {
-		return _value.doubleValue();
-	}
-
-	/**
-	 * Equality comparison between this number and the supplied representation.
-	 * @param aa
-	 *            Representation to be compared with (must currently be of type
-	 *            XSDouble)
-	 * 
-	 * @return True if the 2 representations represent the same number. False
-	 *         otherwise
-	 * @since 1.1
-	 */
-	public boolean eq(AnyType aa, DynamicContext context) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new(aa);
-		ResultSequence crs = constructor(rs);
-		
-		if (crs.empty()) {
-			throw DynamicError.throw_type_error();
-		}
-		AnyType cat = crs.first();
-
-		XSDouble d = (XSDouble) cat;
-		if (d.nan() && nan()) {
-			return false;
-		}
-		
-		Double thatvalue = new Double(d.double_value());
-		Double thisvalue = new Double(double_value());
-		
-		return thisvalue.equals(thatvalue);
-	}
-
-	/**
-	 * Comparison between this number and the supplied representation. 
-	 * 
-	 * @param arg
-	 *            Representation to be compared with (must currently be of type
-	 *            XSDouble)
-	 * @return True if the supplied type represents a number smaller than this
-	 *         one stored. False otherwise
-	 */
-	public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
-		AnyType carg = convertArg(arg);
-		
-		XSDouble val = (XSDouble) get_single_type(carg, XSDouble.class);
-		return double_value() > val.double_value();
-	}
-
-	protected AnyType convertArg(AnyType arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new(arg);
-		rs = constructor(rs);
-		AnyType carg = rs.first();
-		return carg;
-	}
-
-	/**
-	 * Comparison between this number and the supplied representation. Currently
-	 * no numeric type promotion exists so the supplied representation must be
-	 * of type XSDouble.
-	 * 
-	 * @param arg
-	 *            Representation to be compared with (must currently be of type
-	 *            XSDouble)
-	 * @return True if the supplied type represents a number greater than this
-	 *         one stored. False otherwise
-	 */
-	public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
-		AnyType carg = convertArg(arg);
-
-		XSDouble val = (XSDouble) get_single_type(carg, XSDouble.class);
-		return double_value() < val.double_value();
-	}
-
-	// math
-	/**
-	 * Mathematical addition operator between this XSDouble and the supplied
-	 * ResultSequence. 
-	 * 
-	 * @param arg
-	 *            The ResultSequence to perform an addition with
-	 * @return A XSDouble consisting of the result of the mathematical addition.
-	 */
-	public ResultSequence plus(ResultSequence arg) throws DynamicError {
-		ResultSequence carg = convertResultSequence(arg);
-		AnyType at = get_single_arg(carg);
-		
-		if (!(at instanceof XSDouble))
-			DynamicError.throw_type_error();
-		XSDouble val = (XSDouble) at;
-
-		return ResultSequenceFactory.create_new(new XSDouble(double_value()
-				+ val.double_value()));
-	}
-
-	private ResultSequence convertResultSequence(ResultSequence arg)
-			throws DynamicError {
-		ResultSequence carg = arg;
-		Iterator it = carg.iterator();
-		while (it.hasNext()) {
-			AnyType type = (AnyType) it.next();
-			if (type.string_type().equals("xs:untypedAtomic") ||
-				type.string_type().equals("xs:string")) {
-				throw DynamicError.throw_type_error();
-			}
-		}
-
-		carg = constructor(carg);
-		return carg;
-	}
-
-	/**
-	 * Mathematical subtraction operator between this XSDouble and the supplied
-	 * ResultSequence. 
-	 * 
-	 * @param arg
-	 *            The ResultSequence to perform an subtraction with
-	 * @return A XSDouble consisting of the result of the mathematical
-	 *         subtraction.
-	 */
-	public ResultSequence minus(ResultSequence arg) throws DynamicError {
-		ResultSequence carg = convertResultSequence(arg);
-		
-		XSDouble val = (XSDouble) get_single_type(carg, XSDouble.class);
-
-		return ResultSequenceFactory.create_new(new XSDouble(double_value()
-				- val.double_value()));
-	}
-
-	/**
-	 * Mathematical multiplication operator between this XSDouble and the
-	 * supplied ResultSequence. Due to no numeric type promotion or conversion,
-	 * the ResultSequence must be of type XSDouble.
-	 * 
-	 * @param arg
-	 *            The ResultSequence to perform an multiplication with
-	 * @return A XSDouble consisting of the result of the mathematical
-	 *         multiplication.
-	 */
-	public ResultSequence times(ResultSequence arg) throws DynamicError {
-		ResultSequence carg = convertResultSequence(arg);
-
-		XSDouble val = (XSDouble) get_single_type(carg, XSDouble.class);
-		return ResultSequenceFactory.create_new(new XSDouble(double_value()
-				* val.double_value()));
-	}
-
-	/**
-	 * Mathematical division operator between this XSDouble and the supplied
-	 * ResultSequence. 
-	 * 
-	 * @param arg
-	 *            The ResultSequence to perform an division with
-	 * @return A XSDouble consisting of the result of the mathematical division.
-	 */
-	public ResultSequence div(ResultSequence arg) throws DynamicError {
-		ResultSequence carg = convertResultSequence(arg);
-
-		XSDouble val = (XSDouble) get_single_type(carg, XSDouble.class);
-		return ResultSequenceFactory.create_new(new XSDouble(double_value()
-				/ val.double_value()));
-	}
-
-	/**
-	 * Mathematical integer division operator between this XSDouble and the
-	 * supplied ResultSequence. 
-	 * 
-	 * @param arg
-	 *            The ResultSequence to perform an integer division with
-	 * @return A XSInteger consisting of the result of the mathematical integer
-	 *         division.
-	 */
-	public ResultSequence idiv(ResultSequence arg) throws DynamicError {
-		ResultSequence carg = convertResultSequence(arg);
-
-		XSDouble val = (XSDouble) get_single_type(carg, XSDouble.class);
-
-		if (this.nan() || val.nan())
-			throw DynamicError.numeric_overflow("Dividend or divisor is NaN");
-
-		if (this.infinite())
-			throw DynamicError.numeric_overflow("Dividend is infinite");
-
-		if (val.zero())
-			throw DynamicError.div_zero(null);
-
-		BigDecimal result = BigDecimal.valueOf((double_value() / val.double_value()));
-		return ResultSequenceFactory.create_new(new XSInteger(result.toBigInteger()));
-	}
-
-	/**
-	 * Mathematical modulus operator between this XSDouble and the supplied
-	 * ResultSequence. 
-	 * 
-	 * @param arg
-	 *            The ResultSequence to perform a modulus with
-	 * @return A XSDouble consisting of the result of the mathematical modulus.
-	 */
-	public ResultSequence mod(ResultSequence arg) throws DynamicError {
-		ResultSequence carg = convertResultSequence(arg);
-
-		XSDouble val = (XSDouble) get_single_type(carg, XSDouble.class);
-		return ResultSequenceFactory.create_new(new XSDouble(double_value()
-				% val.double_value()));
-	}
-
-	/**
-	 * Negation of the number stored
-	 * 
-	 * @return A XSDouble representing the negation of this XSDecimal
-	 */
-	@Override
-	public ResultSequence unary_minus() {
-		return ResultSequenceFactory.create_new(new XSDouble(-1
-				* double_value()));
-	}
-
-	// functions
-	/**
-	 * Absolutes the number stored
-	 * 
-	 * @return A XSDouble representing the absolute value of the number stored
-	 */
-	@Override
-	public NumericType abs() {
-		return new XSDouble(Math.abs(double_value()));
-	}
-
-	/**
-	 * Returns the smallest integer greater than the number stored
-	 * 
-	 * @return A XSDouble representing the smallest integer greater than the
-	 *         number stored
-	 */
-	@Override
-	public NumericType ceiling() {
-		return new XSDouble(Math.ceil(double_value()));
-	}
-
-	/**
-	 * Returns the largest integer smaller than the number stored
-	 * 
-	 * @return A XSDouble representing the largest integer smaller than the
-	 *         number stored
-	 */
-	@Override
-	public NumericType floor() {
-		return new XSDouble(Math.floor(double_value()));
-	}
-
-	/**
-	 * Returns the closest integer of the number stored.
-	 * 
-	 * @return A XSDouble representing the closest long of the number stored.
-	 */
-	@Override
-	public NumericType round() {
-		BigDecimal value = new BigDecimal(_value);
-		BigDecimal round = value.setScale(0, RoundingMode.HALF_UP);
-		return new XSDouble(round.doubleValue());
-	}
-
-	/**
-	 * Returns the closest integer of the number stored.
-	 * 
-	 * @return A XSDouble representing the closest long of the number stored.
-	 */
-	@Override
-	public NumericType round_half_to_even() {
-
-		return round_half_to_even(0);
-	}
-
-	/**
-	 * Returns the closest integer of the number stored with the specified
-	 * precision.
-	 * 
-	 * @param precision
-	 *            An integer precision
-	 * @return A XSDouble representing the closest long of the number stored.
-	 */
-	@Override
-	public NumericType round_half_to_even(int precision) {
-		BigDecimal value = new BigDecimal(_value);
-		BigDecimal round = value.setScale(precision, RoundingMode.HALF_EVEN);
-		return new XSDouble(round.doubleValue());
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDuration.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDuration.java
deleted file mode 100644
index 20b1dba..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDuration.java
+++ /dev/null
@@ -1,515 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver (STAR) - bug 282223 - Implemented XSDuration type for castable checking.
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpGt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpLt;
-
-/**
- * A representation of the xs:duration data type. Other duration implementations
- * should inherit from this implementation.
- * 
- * @since 1.1 This used to be an abstract class but was incorrectly implemented
- *        as such.
- */
-public class XSDuration extends CtrType implements CmpEq, CmpLt, CmpGt, Cloneable {
-
-	private static final String XS_DURATION = "xs:duration";
-	protected int _year;
-	protected int _month;
-	protected int _days;
-	protected int _hours;
-	protected int _minutes;
-	protected double _seconds;
-	protected boolean _negative;
-
-	/**
-	 * Initializes to the supplied parameters. If more than 24 hours is
-	 * supplied, the number of days is adjusted accordingly. The same occurs for
-	 * minutes and seconds
-	 * 
-	 * @param years
-	 *            Number of years in this duration of time.
-	 * @param months
-	 *            Number of months in this duration of time.
-	 * @param days
-	 *            Number of days in this duration of time
-	 * @param hours
-	 *            Number of hours in this duration of time
-	 * @param minutes
-	 *            Number of minutes in this duration of time
-	 * @param seconds
-	 *            Number of seconds in this duration of time
-	 * @param negative
-	 *            True if this duration of time represents a backwards passage
-	 *            through time. False otherwise
-	 */
-	public XSDuration(int years, int months, int days, int hours, int minutes,
-			double seconds, boolean negative) {
-		_year = years;
-		_month = months;
-		_days = days;
-		_hours = hours;
-		_minutes = minutes;
-		_seconds = seconds;
-		_negative = negative;
-
-		if (_month >= 12) {
-			_year += _month / 12;
-			_month = _month % 12;
-		}
-
-		if (_seconds >= 60) {
-			int isec = (int) _seconds;
-			double rem = _seconds - (isec);
-
-			_minutes += isec / 60;
-			_seconds = isec % 60;
-			_seconds += rem;
-		}
-		if (_minutes >= 60) {
-			_hours += _minutes / 60;
-			_minutes = _minutes % 60;
-		}
-		if (_hours >= 24) {
-			_days += _hours / 24;
-			_hours = _hours % 24;
-		}
-
-	}
-
-	/**
-	 * Initialises to the given number of seconds
-	 * 
-	 * @param secs
-	 *            Number of seconds in the duration of time
-	 */
-	public XSDuration(double secs) {
-		this(0, 0, 0, 0, 0, Math.abs(secs), secs < 0);
-	}
-
-	/**
-	 * Initialises to a duration of no time (0days, 0hours, 0minutes, 0seconds)
-	 */
-	public XSDuration() {
-		this(0, 0, 0, 0, 0, 0.0, false);
-	}
-
-	@Override
-	public String type_name() {
-		return "duration";
-	}
-
-	@Override
-	public String string_type() {
-		return XS_DURATION;
-	}
-
-	/**
-	 * Retrieves a String representation of the duration stored
-	 * 
-	 * @return String representation of the duration stored
-	 */
-	@Override
-	public String string_value() {
-		String ret = "";
-		boolean did_something = false;
-		String tret = "";
-
-		if (negative() && !(days() == 0 && hours() == 0 && seconds() == 0))
-			ret += "-";
-
-		ret += "P";
-
-		int years = year();
-		if (years != 0)
-			ret += years + "Y";
-
-		int months = month();
-		if (months != 0) {
-			ret += months + "M";
-		}
-
-		if (days() != 0) {
-			ret += days() + "D";
-			did_something = true;
-		}
-
-		// do the "time" bit
-		int hours = hours();
-		int minutes = minutes();
-		double seconds = seconds();
-		
-		if (hours != 0) {
-			tret += hours + "H";
-			did_something = true;
-		}
-		if (minutes != 0) {
-			tret += minutes + "M";
-			did_something = true;
-		}
-		if (seconds != 0) {
-			String doubStr = (Double.valueOf(seconds).toString());
-			if (doubStr.endsWith(".0")) {
-				// string value of x.0 seconds is xS. e.g, 7.0S is converted to
-				// 7S.
-				tret += doubStr.substring(0, doubStr.indexOf(".0")) + "S";
-			} else {
-				tret += seconds + "S";
-			}
-			did_something = true;
-		} else if (!did_something) {
-				tret += "0S";
-		}
-		
-		if ((year() == 0 && month() == 0) || (hours > 0 || minutes > 0 || seconds > 0)) {
-			if (tret.length() > 0) {
-				ret += "T" + tret;
-			}
-		}
-
-		return ret;
-	}
-
-	/**
-	 * Retrieves the number of days within the duration of time stored
-	 * 
-	 * @return Number of days within the duration of time stored
-	 */
-	public int days() {
-		return _days;
-	}
-
-	/**
-	 * Retrieves the number of minutes (max 60) within the duration of time
-	 * stored
-	 * 
-	 * @return Number of minutes within the duration of time stored
-	 */
-	public int minutes() {
-		return _minutes;
-	}
-
-	/**
-	 * Retrieves the number of hours (max 24) within the duration of time stored
-	 * 
-	 * @return Number of hours within the duration of time stored
-	 */
-	public int hours() {
-		return _hours;
-	}
-
-	/**
-	 * Retrieves the number of seconds (max 60) within the duration of time
-	 * stored
-	 * 
-	 * @return Number of seconds within the duration of time stored
-	 */
-	public double seconds() {
-		return _seconds;
-	}
-
-	/**
-	 * Equality comparison between this and the supplied duration of time.
-	 * 
-	 * @param arg
-	 *            The duration of time to compare with
-	 * @return True if they both represent the duration of time. False otherwise
-	 * @throws DynamicError
-	 */
-	public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
-		XSDuration val = (XSDuration) NumericType.get_single_type(arg,
-				XSDuration.class);
-
-		return value() == val.value();
-	}
-
-	/**
-	 * Comparison between this and the supplied duration of time.
-	 * 
-	 * @param arg
-	 *            The duration of time to compare with
-	 * @return True if the supplied time represents a larger duration than that
-	 *         stored. False otherwise
-	 * @throws DynamicError
-	 */
-	public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
-		XSDuration val = (XSDuration) NumericType.get_single_type(arg,
-				XSDayTimeDuration.class);
-
-		return value() < val.value();
-	}
-
-	/**
-	 * Comparison between this and the supplied duration of time.
-	 * 
-	 * @param arg
-	 *            The duration of time to compare with
-	 * @return True if the supplied time represents a smaller duration than that
-	 *         stored. False otherwise
-	 * @throws DynamicError
-	 */
-	public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
-		XSDuration val = (XSDuration) NumericType.get_single_type(arg,
-				XSDayTimeDuration.class);
-
-		return value() > val.value();
-	}
-
-	/**
-	 * Retrieves whether this duration represents a backward passage through
-	 * time
-	 * 
-	 * @return True if this duration represents a backward passage through time.
-	 *         False otherwise
-	 */
-	public boolean negative() {
-		return _negative;
-	}
-
-	/**
-	 * Retrieves the duration of time stored as the number of seconds within it
-	 * 
-	 * @return Number of seconds making up this duration of time
-	 */
-	public double value() {
-		double ret = days() * 24 * 60 * 60;
-
-		ret += hours() * 60 * 60;
-		ret += minutes() * 60;
-		ret += seconds();
-
-		if (negative())
-			ret *= -1;
-		
-		
-
-		return ret;
-	}
-	
-	public double time_value() {
-		double ret = 0;
-		ret += hours() * 60 * 60;
-		ret += minutes() * 60;
-		ret += seconds();
-
-		if (negative())
-			ret *= -1;
-		return ret;
-	}
-
-	/**
-	 * Creates a new ResultSequence consisting of the extractable time duration
-	 * from the supplied ResultSequence
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which to extract
-	 * @return New ResultSequence consisting of the time duration extracted
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		AnyAtomicType aat = (AnyAtomicType) arg.first();
-		
-		if (aat instanceof NumericType || aat instanceof CalendarType ||
-			aat instanceof XSBoolean || aat instanceof XSBase64Binary ||
-			aat instanceof XSHexBinary || aat instanceof XSAnyURI) {
-			throw DynamicError.invalidType();
-		}
-
-		if (!(isCastable(aat))) {
-			throw DynamicError.cant_cast(null);
-		}
-		
-		XSDuration duration = castDuration(aat);
-
-		if (duration == null)
-			throw DynamicError.cant_cast(null);
-
-		rs.add(duration);
-
-		return rs;
-	}
-
-	private XSDuration castDuration(AnyAtomicType aat) {
-		if (aat instanceof XSDuration) {
-			XSDuration duration = (XSDuration) aat;
-			return new XSDuration(duration.year(), duration.month(), duration.days(), duration.hours(), duration.minutes(), duration.seconds(), duration.negative());
-		}
-		
-		return parseDTDuration(aat.string_value());
-	}
-	/**
-	 * Creates a new XSDayTimeDuration by parsing the supplied String
-	 * represented duration of time
-	 * 
-	 * @param str
-	 *            String represented duration of time
-	 * @return New XSDayTimeDuration representing the duration of time supplied
-	 */
-	public static XSDuration parseDTDuration(String str) {
-		boolean negative = false;
-		int years = 0;
-		int months = 0;
-		int days = 0;
-		int hours = 0;
-		int minutes = 0;
-		double seconds = 0;
-
-		// string following the P
-		String pstr = "";
-		String tstr = "";
-
-		// get the negative and pstr
-		if (str.startsWith("-P")) {
-			negative = true;
-			pstr = str.substring(2, str.length());
-		} else if (str.startsWith("P")) {
-			negative = false;
-			pstr = str.substring(1, str.length());
-		} else
-			return null;
-
-		try {
-			int index = pstr.indexOf('Y');
-			boolean did_something = false;
-
-			if (index != -1) {
-				String digit = pstr.substring(0, index);
-				years = Integer.parseInt(digit);
-				pstr = pstr.substring(index + 1, pstr.length());
-				did_something = true;
-			}
-
-			index = pstr.indexOf('M');
-			if (index != -1) {
-				String digit = pstr.substring(0, index);
-				months = Integer.parseInt(digit);
-				pstr = pstr.substring(index + 1, pstr.length());
-				did_something = true;
-			}
-
-			// get the days
-			index = pstr.indexOf('D');
-
-			if (index == -1) {
-				if (pstr.startsWith("T")) {
-					tstr = pstr.substring(1, pstr.length());
-				}
-			} else {
-				String digit = pstr.substring(0, index);
-				days = Integer.parseInt(digit);
-				tstr = pstr.substring(index + 1, pstr.length());
-
-				if (tstr.startsWith("T")) {
-					tstr = tstr.substring(1, tstr.length());
-				} else {
-					tstr = "";
-					did_something = true;
-				}
-			}
-
-			// do the T str
-
-			// hour
-			index = tstr.indexOf('H');
-			if (index != -1) {
-				String digit = tstr.substring(0, index);
-				hours = Integer.parseInt(digit);
-				tstr = tstr.substring(index + 1, tstr.length());
-				did_something = true;
-			}
-			// minute
-			index = tstr.indexOf('M');
-			if (index != -1) {
-				String digit = tstr.substring(0, index);
-				minutes = Integer.parseInt(digit);
-				tstr = tstr.substring(index + 1, tstr.length());
-				did_something = true;
-			}
-			// seconds
-			index = tstr.indexOf('S');
-			if (index != -1) {
-				String digit = tstr.substring(0, index);
-				seconds = Double.parseDouble(digit);
-				tstr = tstr.substring(index + 1, tstr.length());
-				did_something = true;
-			}
-			if (!did_something) {
-				return null;
-			}
-
-		} catch (NumberFormatException err) {
-			return null;
-		}
-
-		return new XSDuration(years, months, days, hours, minutes, seconds,
-				negative);
-	}
-
-	@Override
-	public Object clone() throws CloneNotSupportedException {
-		return new XSDuration(year(), month(), days(), hours(), minutes(),
-				seconds(), negative());
-	}
-
-	/**
-	 * Retrieves the number of years within the duration of time stored
-	 * 
-	 * @return Number of years within the duration of time stored
-	 */
-	public int year() {
-		return _year;
-	}
-
-	/**
-	 * Retrieves the number of months within the duration of time stored
-	 * 
-	 * @return Number of months within the duration of time stored
-	 */
-	public int month() {
-		return _month;
-	}
-
-	protected boolean isCastable(AnyAtomicType aat) {
-		String value = aat.string_value(); // get this once so we don't recreate everytime.
-		String type = aat.string_type();
-		if (type.equals("xs:string") || type.equals("xs:untypedAtomic")) {
-			if (isDurationValue(value)) {
-				return true;  // We might be able to cast this.
-			}
-		}
-		
-		// We can cast from ourself or derivations of ourselves.
-		if (aat instanceof XSDuration) {
-			return true;
-		}
-				
-		return false;
-	}
-
-	private boolean isDurationValue(String value) {
-		return value.startsWith("P") || value.startsWith("-P");
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSEntity.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSEntity.java
deleted file mode 100644
index 561f25c..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSEntity.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver (STAR) bug 228223 - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-/**
- * Built in Data Type for xs:Entity
- * 
- * @author dcarver
- * @since 1.1
- */
-public class XSEntity extends XSNCName {
-	
-	private static final String XS_ENTITY = "xs:ENTITY";
-
-	public XSEntity() {
-		super();
-	}
-	
-	public XSEntity(String value) {
-		super(value);
-	}
-	
-	@Override
-	public String string_type() {
-		return XS_ENTITY;
-	}
-	
-	@Override
-	public String type_name() {
-		return "ENTITY";
-	}
-
-	/**
-	 * Creates a new ResultSequence consisting of the ENTITY within
-	 * the supplied ResultSequence.  The specification says that this
-	 * is relaxed from the XML Schema requirement.  The ENTITY does
-	 * not have to be located or expanded during construction and
-	 * evaluation for casting.
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which to extract the ENTITY
-	 * @return New ResultSequence consisting of the ENTITY supplied
-	 * @throws DynamicError
-	 */
-
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		AnyAtomicType aat = (AnyAtomicType) arg.first();
-		
-
-		rs.add(new XSEntity(aat.string_value()));
-
-		return rs;
-
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSFloat.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSFloat.java
deleted file mode 100644
index be9f367..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSFloat.java
+++ /dev/null
@@ -1,485 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 274805 - improvements to xs:integer data type
- *     Mukul Gandhi - bug 279406 - improvements to negative zero values for xs:float
- *     David Carver - bug 262765 - fixed rounding errors.
- *     David Carver - bug 282223 - fixed casting errors.
- *     Jesper Steen Moller - Bug 286062 - Fix idiv error cases and increase precision  
- *     Jesper Steen Moller - bug 281028 - Added constructor from string
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.util.Iterator;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-/**
- * A representation of the Float datatype
- */
-public class XSFloat extends NumericType {
-
-	private static final String XS_FLOAT = "xs:float";
-	private Float _value;
-	private XPathDecimalFormat format = new XPathDecimalFormat("0.#######E0");
-	/**
-	 * Initiates a representation of the supplied number
-	 * 
-	 * @param x
-	 *            The number to be stored
-	 */
-	public XSFloat(float x) {
-		_value = x;
-	}
-
-	/**
-	 * Initiates a representation of 0
-	 */
-	public XSFloat() {
-		this(0);
-	}
-
-	/**
-	 * Initialises using a String represented number
-	 * 
-	 * @param init
-	 *            String representation of the number to be stored
-	 */
-	public XSFloat(String init) throws DynamicError {
-		try {
-			if (init.equals("-INF")) {
-				_value = Float.NEGATIVE_INFINITY;
-			} else if (init.equals("INF")) {
-				_value = Float.POSITIVE_INFINITY;
-			} else {
-				_value = new Float(init);
-			}
-		} catch (NumberFormatException e) {
-			throw DynamicError.cant_cast(null);
-		}
-	}
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:float" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_FLOAT;
-	}
-
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "float" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "float";
-	}
-
-	/**
-	 * Retrieves a String representation of the stored number
-	 * 
-	 * @return String representation of the stored number
-	 */
-	@Override
-	public String string_value() {
-		if (zero()) {
-		   return "0";
-		}
-		if (negativeZero()) {
-		   return "-0";	
-		}
-		
-		if (nan()) {
-		   return "NaN";	
-		}
-								
-		return format.xpathFormat(_value);
-	}
-
-	/**
-	 * Check for whether this datatype represents NaN
-	 * 
-	 * @return True is this datatype represents NaN. False otherwise
-	 */
-	public boolean nan() {
-		return Float.isNaN(_value);
-	}
-
-	/**
-	 * Check for whether this datatype represents negative or positive infinity
-	 * 
-	 * @return True is this datatype represents infinity. False otherwise
-	 */
-	public boolean infinite() {
-		return Float.isInfinite(_value);
-	}
-
-	/**
-	 * Check for whether this datatype represents 0
-	 * 
-	 * @return True if this datatype represents 0. False otherwise
-	 */
-	@Override
-	public boolean zero() {
-	   return (Float.compare(_value, 0) == 0);
-	}
-	
-	/*
-	 * Check for whether this XSFloat represents -0
-	 * 
-	 * @return True if this XSFloat represents -0. False otherwise.
-	 * @since 1.1
-	 */
-	public boolean negativeZero() {
-	   return (Float.compare(_value, -0.0f) == 0);
-	}
-	
-	/**
-	 * Creates a new ResultSequence consisting of the retrievable float in the
-	 * supplied ResultSequence
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which to extract the float
-	 * @return New ResultSequence consisting of the float supplied
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		AnyType aat = arg.first();
-		
-		if (aat instanceof XSDuration || aat instanceof CalendarType ||
-			aat instanceof XSBase64Binary || aat instanceof XSHexBinary ||
-			aat instanceof XSAnyURI) {
-			throw DynamicError.invalidType();
-		}
-		
-		if (!(aat.string_type().equals("xs:string") || aat instanceof NodeType ||
-			aat.string_type().equals("xs:untypedAtomic") ||
-			aat.string_type().equals("xs:boolean") ||
-			aat instanceof NumericType)) {
-			throw DynamicError.cant_cast(null);
-		}
-		
-
-		try {
-			Float f = null;
-			if (aat.string_value().equals("INF")) {
-				f = Float.POSITIVE_INFINITY;
-			} else if (aat.string_value().equals("-INF")) {
-				f = Float.NEGATIVE_INFINITY;
-			} else if (aat instanceof XSBoolean) {
-				if (aat.string_value().equals("true")) {
-					f = new Float("1.0E0");
-				} else {
-					f = new Float("0.0E0");
-				}
-			} else {
-			    f = new Float(aat.string_value());
-			}
-			rs.add(new XSFloat(f.floatValue()));
-			return rs;
-		} catch (NumberFormatException e) {
-			throw DynamicError.cant_cast(null);
-		}
-
-	}
-
-	/**
-	 * Retrieves the actual float value stored
-	 * 
-	 * @return The actual float value stored
-	 */
-	public float float_value() {
-		return _value;
-	}
-
-	/**
-	 * Equality comparison between this number and the supplied representation.
-	 * @param aa
-	 *            The datatype to compare with
-	 * 
-	 * @return True if the two representations are of the same number. False
-	 *         otherwise
-	 * @throws DynamicError
-	 */
-	public boolean eq(AnyType aa, DynamicContext context) throws DynamicError {
-		AnyType carg = convertArg(aa);
-		if (!(carg instanceof XSFloat))
-			DynamicError.throw_type_error();
-
-		XSFloat f = (XSFloat) carg;
-		if (nan() && f.nan()) {
-			return false;
-		}
-		
-		Float thatvalue = new Float(f.float_value());
-		Float thisvalue = new Float(float_value());
-
-		return thisvalue.equals(thatvalue);
-	}
-
-	/**
-	 * Comparison between this number and the supplied representation. 
-	 * 
-	 * @param arg
-	 *            The datatype to compare with
-	 * @return True if the supplied representation is a smaller number than the
-	 *         one stored. False otherwise
-	 * @throws DynamicError
-	 */
-	public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
-		AnyType carg = convertArg(arg);
-		XSFloat val = (XSFloat) get_single_type(carg, XSFloat.class);
-		return float_value() > val.float_value();
-	}
-
-	/**
-	 * Comparison between this number and the supplied representation. 
-	 * 
-	 * @param arg
-	 *            The datatype to compare with
-	 * @return True if the supplied representation is a greater number than the
-	 *         one stored. False otherwise
-	 * @throws DynamicError
-	 */
-	public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
-		AnyType carg = convertArg(arg);
-		XSFloat val = (XSFloat) get_single_type(carg, XSFloat.class);
-		return float_value() < val.float_value();
-	}
-
-	/**
-	 * Mathematical addition operator between this XSFloat and the supplied
-	 * ResultSequence. 
-	 * 
-	 * @param arg
-	 *            The ResultSequence to perform an addition with
-	 * @return A XSFloat consisting of the result of the mathematical addition.
-	 */
-	public ResultSequence plus(ResultSequence arg) throws DynamicError {
-		ResultSequence carg = convertResultSequence(arg);
-		AnyType at = get_single_arg(carg);
-		if (!(at instanceof XSFloat))
-			DynamicError.throw_type_error();
-		XSFloat val = (XSFloat) at;
-
-		return ResultSequenceFactory.create_new(new XSFloat(float_value()
-				+ val.float_value()));
-	}
-
-	/**
-	 * Mathematical subtraction operator between this XSFloat and the supplied
-	 * ResultSequence. 
-	 * 
-	 * @param arg
-	 *            The ResultSequence to perform a subtraction with
-	 * @return A XSFloat consisting of the result of the mathematical
-	 *         subtraction.
-	 */
-	public ResultSequence minus(ResultSequence arg) throws DynamicError {
-		ResultSequence carg = constructor(arg);
-		AnyType at = get_single_arg(carg);
-		if (!(at instanceof XSFloat))
-			DynamicError.throw_type_error();
-		XSFloat val = (XSFloat) at;
-
-		return ResultSequenceFactory.create_new(new XSFloat(float_value()
-				- val.float_value()));
-	}
-
-	/**
-	 * Mathematical multiplication operator between this XSFloat and the
-	 * supplied ResultSequence. 
-	 * 
-	 * @param arg
-	 *            The ResultSequence to perform a multiplication with
-	 * @return A XSFloat consisting of the result of the mathematical
-	 *         multiplication.
-	 */
-	public ResultSequence times(ResultSequence arg) throws DynamicError {
-		ResultSequence carg = constructor(arg);
-		XSFloat val = (XSFloat) get_single_type(carg, XSFloat.class);
-		return ResultSequenceFactory.create_new(new XSFloat(float_value()
-				* val.float_value()));
-	}
-
-	/**
-	 * Mathematical division operator between this XSFloat and the supplied
-	 * ResultSequence. 
-	 * 
-	 * @param arg
-	 *            The ResultSequence to perform a division with
-	 * @return A XSFloat consisting of the result of the mathematical division.
-	 */
-	public ResultSequence div(ResultSequence arg) throws DynamicError {
-		ResultSequence carg = convertResultSequence(arg);
-		XSFloat val = (XSFloat) get_single_type(carg, XSFloat.class);
-		return ResultSequenceFactory.create_new(new XSFloat(float_value()
-				/ val.float_value()));
-	}
-
-	/**
-	 * Mathematical integer division operator between this XSFloat and the
-	 * supplied ResultSequence. 
-	 * 
-	 * @param arg
-	 *            The ResultSequence to perform an integer division with
-	 * @return A XSInteger consisting of the result of the mathematical integer
-	 *         division.
-	 */
-	public ResultSequence idiv(ResultSequence arg) throws DynamicError {
-		ResultSequence carg = convertResultSequence(arg);
-		XSFloat val = (XSFloat) get_single_type(carg, XSFloat.class);
-
-		if (this.nan() || val.nan())
-			throw DynamicError.numeric_overflow("Dividend or divisor is NaN");
-
-		if (this.infinite())
-			throw DynamicError.numeric_overflow("Dividend is infinite");
-
-		if (val.zero())
-			throw DynamicError.div_zero(null);
-
-		BigDecimal result = BigDecimal.valueOf((float_value() / val.float_value()));
-		return ResultSequenceFactory.create_new(new XSInteger(result.toBigInteger()));
-	}
-
-	/**
-	 * Mathematical modulus operator between this XSFloat and the supplied
-	 * ResultSequence. Due to no numeric type promotion or conversion, the
-	 * ResultSequence must be of type XSFloat.
-	 * 
-	 * @param arg
-	 *            The ResultSequence to perform a modulus with
-	 * @return A XSFloat consisting of the result of the mathematical modulus.
-	 */
-	public ResultSequence mod(ResultSequence arg) throws DynamicError {
-		ResultSequence carg = convertResultSequence(arg);
-		XSFloat val = (XSFloat) get_single_type(carg, XSFloat.class);
-		return ResultSequenceFactory.create_new(new XSFloat(float_value()
-				% val.float_value()));
-	}
-
-	/**
-	 * Negates the number stored
-	 * 
-	 * @return A XSFloat representing the negation of the number stored
-	 */
-	@Override
-	public ResultSequence unary_minus() {
-		return ResultSequenceFactory
-				.create_new(new XSFloat(-1 * float_value()));
-	}
-
-	/**
-	 * Absolutes the number stored
-	 * 
-	 * @return A XSFloat representing the absolute value of the number stored
-	 */
-	@Override
-	public NumericType abs() {
-		return new XSFloat(Math.abs(float_value()));
-	}
-
-	/**
-	 * Returns the smallest integer greater than the number stored
-	 * 
-	 * @return A XSFloat representing the smallest integer greater than the
-	 *         number stored
-	 */
-	@Override
-	public NumericType ceiling() {
-		return new XSFloat((float) Math.ceil(float_value()));
-	}
-
-	/**
-	 * Returns the largest integer smaller than the number stored
-	 * 
-	 * @return A XSFloat representing the largest integer smaller than the
-	 *         number stored
-	 */
-	@Override
-	public NumericType floor() {
-		return new XSFloat((float) Math.floor(float_value()));
-	}
-
-	/**
-	 * Returns the closest integer of the number stored.
-	 * 
-	 * @return A XSFloat representing the closest long of the number stored.
-	 */
-	@Override
-	public NumericType round() {
-		BigDecimal value = new BigDecimal(float_value());
-		BigDecimal round = value.setScale(0, RoundingMode.HALF_UP);
-		return new XSFloat(round.floatValue());
-	}
-
-	/**
-	 * Returns the closest integer of the number stored.
-	 * 
-	 * @return A XSFloat representing the closest long of the number stored.
-	 */
-	@Override
-	public NumericType round_half_to_even() {
-		return round_half_to_even(0);
-	}
-
-	/**
-	 * Returns the closest integer of the number stored with the specified precision.
-	 * 
-	 * @param precision An integer precision 
-	 * @return A XSFloat representing the closest long of the number stored.
-	 */
-
-	@Override
-	public NumericType round_half_to_even(int precision) {
-		BigDecimal value = new BigDecimal(_value);
-		BigDecimal round = value.setScale(precision, RoundingMode.HALF_EVEN);
-		return new XSFloat(round.floatValue());
-	}
-	
-	protected AnyType convertArg(AnyType arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new(arg);
-		rs = constructor(rs);
-		AnyType carg = rs.first();
-		return carg;
-	}
-	
-	private ResultSequence convertResultSequence(ResultSequence arg)
-			throws DynamicError {
-		ResultSequence carg = arg;
-		Iterator it = carg.iterator();
-		while (it.hasNext()) {
-			AnyType type = (AnyType) it.next();
-			if (type.string_type().equals("xs:untypedAtomic") ||
-				type.string_type().equals("xs:string")) {
-				throw DynamicError.throw_type_error();
-			}
-		}
-
-		carg = constructor(carg);
-		return carg;
-	}	
-	
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGDay.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGDay.java
deleted file mode 100644
index 50d6872..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGDay.java
+++ /dev/null
@@ -1,323 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver (STAR) - bug 262765 - Correct parsing of Date to get day correctly.
- *     David Carver (STAR) - bug 282223 - fixed issue with casting.
- *     David Carver - bug 280547 - fix dates for comparison 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.*;
-
-import java.util.*;
-
-/**
- * A representation of the Day datatype
- */
-public class XSGDay extends CalendarType implements CmpEq {
-
-	private static final String XS_G_DAY = "xs:gDay";
-	private Calendar _calendar;
-	private boolean _timezoned;
-	private XSDuration _tz;
-
-	/**
-	 * Initializes a representation of the supplied day
-	 * 
-	 * @param cal
-	 *            Calendar representation of the day to be stored
-	 * @param tz
-	 *            Timezone associated with this day
-	 */
-	public XSGDay(Calendar cal, XSDuration tz) {
-		_calendar = cal;
-		if (tz != null) {
-			_timezoned = true;
-			_tz = tz;
-		}
-	}
-
-	/**
-	 * Initialises a representation of the current day
-	 */
-	public XSGDay() {
-		this(new GregorianCalendar(TimeZone.getTimeZone("GMT")), null);
-	}
-
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "gDay" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "gDay";
-	}
-
-	/**
-	 * Parses a String representation of a day and constructs a new XSGDay
-	 * representation of it.
-	 * 
-	 * @param str
-	 *            The String representation of the day (and optional timezone)
-	 * @return The XSGDay representation of the supplied date
-	 */
-	public static XSGDay parse_gDay(String str) {
-		
-		String startdate = "1972-12-";
-		String starttime = "T00:00:00";
-
-		int index = str.lastIndexOf('+', str.length());
-		
-		if (index == -1)
-			index = str.lastIndexOf('-');
-		if (index == -1)
-			index = str.lastIndexOf('Z', str.length());
-		if (index != -1) {
-			int zIndex = str.lastIndexOf('Z', str.length());
-			if (zIndex == -1) {
-				if (index > 4)
-					zIndex = index;
-			}
-			if (zIndex == -1) {
-				zIndex = str.lastIndexOf('+');
-			}
-			
-			String[] split = str.split("-");
-			startdate += split[3].replace("Z", "");
-			
-			if (str.indexOf('T') != -1) {
-				if (split.length > 4) {
-					String[] timesplit = split[4].split(":");
-					if (timesplit.length < 3) {
-						starttime = "T";
-						StringBuffer buf = new StringBuffer(starttime);
-						for (int cnt = 0; cnt < timesplit.length; cnt++) {
-							buf.append(timesplit[cnt] + ":");
-						}
-						buf.append("00");
-						starttime = buf.toString();
-					} else {
-						starttime += timesplit[0] + ":" + timesplit[1] + ":" + timesplit[2];
-					}
-				}
-			}
-			startdate = startdate.trim();
-			startdate += starttime;
-
-			if (zIndex != -1) {
-				
-				startdate += str.substring(zIndex);
-			}
-		} else {
-			startdate += str + starttime;
-		}
-
-		XSDateTime dt = XSDateTime.parseDateTime(startdate);
-		if (dt == null)
-			return null;
-
-		return new XSGDay(dt.calendar(), dt.tz());
-	}
-	
-	/**
-	 * Creates a new ResultSequence consisting of the extractable gDay in the
-	 * supplied ResultSequence
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which the gDay is to be extracted
-	 * @return New ResultSequence consisting of the supplied day
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		AnyAtomicType aat = (AnyAtomicType) arg.first();
-		if (aat instanceof NumericType || aat instanceof XSDuration ||
-			aat instanceof XSTime || isGDataType(aat) ||
-			aat instanceof XSBoolean || aat instanceof XSBase64Binary ||
-			aat instanceof XSHexBinary || aat instanceof XSAnyURI) {
-			throw DynamicError.invalidType();
-		}
-
-		if (!isCastable(aat)) {
-			throw DynamicError.cant_cast(null);
-		}
-		
-		XSGDay val = castGDay(aat);
-
-		if (val == null)
-			throw DynamicError.cant_cast(null);
-
-		rs.add(val);
-
-		return rs;
-	}
-	
-	private boolean isCastable(AnyAtomicType aat) {
-		if (aat instanceof XSString || aat instanceof XSUntypedAtomic) {
-			return true;
-		}
-		
-		if (aat instanceof XSTime) {
-			return false;
-		}
-		
-		if (aat instanceof XSDate || aat instanceof XSDateTime ||
-			aat instanceof XSGDay) {
-			return true;
-		}
-		
-		return false;
-	}
-	
-	protected boolean isGDataType(AnyAtomicType aat) {
-		String type = aat.string_type();
-		if (type.equals("xs:gMonthDay") ||
-			type.equals("xs:gMonth") ||
-			type.equals("xs:gYear") ||
-			type.equals("xs:gYearMonth")) {
-			return true;
-		}
-		return false;
-	}
-	
-	
-	private XSGDay castGDay(AnyAtomicType aat) {
-		if (aat instanceof XSGDay) {
-			XSGDay gday = (XSGDay) aat;
-			return new XSGDay(gday.calendar(), gday.tz());
-		}
-		
-		if (aat instanceof XSDate) {
-			XSDate date = (XSDate) aat;
-			return new XSGDay(date.calendar(), date.tz());
-		}
-		
-		if (aat instanceof XSDateTime) {
-			XSDateTime dateTime = (XSDateTime) aat;
-			return new XSGDay(dateTime.calendar(), dateTime.tz());
-		}
-		return parse_gDay(aat.string_value()); 
-	}
-
-	/**
-	 * Retrieves the actual day as an integer
-	 * 
-	 * @return The actual day as an integer
-	 */
-	public int day() {
-		return _calendar.get(Calendar.DAY_OF_MONTH);
-	}
-
-	/**
-	 * Check for whether a timezone was specified at creation
-	 * 
-	 * @return True if a timezone was specified. False otherwise
-	 */
-	public boolean timezoned() {
-		return _timezoned;
-	}
-
-	/**
-	 * Retrieves a String representation of the stored day
-	 * 
-	 * @return String representation of the stored day
-	 */
-	@Override
-	public String string_value() {
-		String ret = "---";
-
-		Calendar adjustFortimezone = calendar();
-		
-		ret += XSDateTime.pad_int(adjustFortimezone.get(Calendar.DAY_OF_MONTH), 2);
-		
-		if (timezoned()) {
-			int hrs = tz().hours();
-			int min = tz().minutes();
-			double secs = tz().seconds();
-			if (hrs == 0 && min == 0 && secs == 0) {
-			  ret += "Z";
-			}
-			else {
-			  String tZoneStr = "";
-			  if (tz().negative()) {
-				tZoneStr += "-";  
-			  }
-			  else {
-				tZoneStr += "+"; 
-			  }
-			  tZoneStr += XSDateTime.pad_int(hrs, 2);  
-			  tZoneStr += ":";
-			  tZoneStr += XSDateTime.pad_int(min, 2);
-			  
-			  ret += tZoneStr;
-			}
-		}
-
-		return ret;
-	}
-
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:gDay" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_G_DAY;
-	}
-
-	/**
-	 * Retrieves the Calendar representation of the day stored
-	 * 
-	 * @return Calendar representation of the day stored
-	 */
-	public Calendar calendar() {
-		return _calendar;
-	}
-
-	/**
-	 * Equality comparison between this and the supplied representation. This
-	 * representation must be of type XSGDay
-	 * 
-	 * @param arg
-	 *            The XSGDay to compare with
-	 * @return True if the two representations are of the same day. False
-	 *         otherwise
-	 * @throws DynamicError
-	 */
-	public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
-		XSGDay val = (XSGDay) NumericType.get_single_type(arg, XSGDay.class);
-		Calendar thiscal = normalizeCalendar(calendar(), tz());
-		Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-		
-		return thiscal.equals(thatcal);
-	}
-	
-	/**
-	 * Retrieves the timezone associated with the date stored
-	 * 
-	 * @return the timezone associated with the date stored
-	 * @since 1.1
-	 */
-	public XSDuration tz() {
-		return _tz;
-	}	
-	
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGMonth.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGMonth.java
deleted file mode 100644
index 97d83c1..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGMonth.java
+++ /dev/null
@@ -1,319 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver (STAR) - bug 262765 - Fixed parsing of gMonth values
- *     David Carver - bug 280547 - fix dates for comparison 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.*;
-
-import java.util.*;
-
-/**
- * A representation of the gMonth datatype
- */
-public class XSGMonth extends CalendarType implements CmpEq {
-
-	private static final String XS_G_MONTH = "xs:gMonth";
-	private Calendar _calendar;
-	private boolean _timezoned;
-	private XSDuration _tz;
-
-	/**
-	 * Initializes a representation of the supplied month
-	 * 
-	 * @param cal
-	 *            Calendar representation of the month to be stored
-	 * @param tz
-	 *            Timezone associated with this month
-	 */
-	public XSGMonth(Calendar cal, XSDuration tz) {
-		_calendar = cal;
-		if (tz != null) {
-			_timezoned = true;
-			_tz = tz;
-		}
-	}
-
-	/**
-	 * Initialises a representation of the current month
-	 */
-	public XSGMonth() {
-		this(new GregorianCalendar(TimeZone.getTimeZone("GMT")), null);
-	}
-
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "gMonth" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "gMonth";
-	}
-
-	/**
-	 * Parses a String representation of a month and constructs a new XSGMonth
-	 * representation of it.
-	 * 
-	 * @param str
-	 *            The String representation of the month (and optional timezone)
-	 * @return The XSGMonth representation of the supplied date
-	 */
-	public static XSGMonth parse_gMonth(String str) {
-
-		String startdate = "1972-";
-		String starttime = "T00:00:00";
-
-		int index = str.lastIndexOf('+', str.length());
-		
-		if (index == -1)
-			index = str.lastIndexOf('-');
-		if (index == -1)
-			index = str.lastIndexOf('Z', str.length());
-		if (index != -1) {
-			int zIndex = str.lastIndexOf('Z', str.length());
-			if (zIndex == -1) {
-				if (index > 3) {
-					zIndex = index;
-				}
-			}
-			
-			String[] split = str.split("-");
-			startdate += split[2].replace("Z", "") + "-01";
-			
-			if (str.indexOf('T') != -1) { 
-				if (split.length > 3) {
-					String[] timesplit = split[3].split(":");
-					if (timesplit.length < 3) {
-						starttime = "T";
-						StringBuffer buf = new StringBuffer(starttime);
-						for (int cnt = 0; cnt < timesplit.length; cnt++) {
-							buf.append(timesplit[cnt] + ":");
-						}
-						buf.append("00");
-						starttime = buf.toString();
-					} else {
-						starttime += timesplit[0] + ":" + timesplit[1] + ":" + timesplit[2];
-					}
-				}
-			}
-			startdate = startdate.trim();
-			startdate += starttime;
-
-			if (zIndex != -1) {
-				startdate += str.substring(zIndex);
-			}
-		} else {
-			startdate += str + starttime;
-		}
-
-		XSDateTime dt = XSDateTime.parseDateTime(startdate);
-		if (dt == null)
-			return null;
-
-		return new XSGMonth(dt.calendar(), dt.tz());
-	}
-
-	/**
-	 * Creates a new ResultSequence consisting of the extractable gMonth in the
-	 * supplied ResultSequence
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which the gMonth is to be extracted
-	 * @return New ResultSequence consisting of the supplied month
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		AnyAtomicType aat = (AnyAtomicType) arg.first();
-		if (aat instanceof NumericType || aat instanceof XSDuration || 
-			aat instanceof XSTime || isGDataType(aat) ||
-			aat instanceof XSBoolean || aat instanceof XSBase64Binary ||
-			aat instanceof XSHexBinary || aat instanceof XSAnyURI) {
-			throw DynamicError.invalidType();
-		}
-
-		if (!isCastable(aat)) {
-			throw DynamicError.cant_cast(null);
-		}
-
-		XSGMonth val = castGMonth(aat);
-
-		if (val == null)
-			throw DynamicError.cant_cast(null);
-
-		rs.add(val);
-
-		return rs;
-	}
-
-	protected boolean isGDataType(AnyAtomicType aat) {
-		String type = aat.string_type();
-		if (type.equals("xs:gMonthDay") ||
-			type.equals("xs:gDay") ||
-			type.equals("xs:gYear") ||
-			type.equals("xs:gYearMonth")) {
-			return true;
-		}
-		return false;
-	}
-	
-	private boolean isCastable(AnyAtomicType aat) {
-		if (aat instanceof XSString || aat instanceof XSUntypedAtomic) {
-			return true;
-		}
-		
-		if (aat instanceof XSTime) {
-			return false;
-		}
-		
-		if (aat instanceof XSDate || aat instanceof XSDateTime || 
-			aat instanceof XSGMonth) {
-			return true;
-		}
-		
-		return false;
-	}
-	
-	private XSGMonth castGMonth(AnyAtomicType aat) {
-		if (aat instanceof XSGMonth) {
-			XSGMonth gm = (XSGMonth) aat;
-			return new XSGMonth(gm.calendar(), gm.tz());
-		}
-		
-		if (aat instanceof XSDate) {
-			XSDate date = (XSDate) aat;
-			return new XSGMonth(date.calendar(), date.tz());
-		}
-		
-		if (aat instanceof XSDateTime) {
-			XSDateTime dateTime = (XSDateTime) aat;
-			return new XSGMonth(dateTime.calendar(), dateTime.tz());
-		}
-		
-		return parse_gMonth(aat.string_value());
-	}
-	
-	/**
-	 * Retrieves the actual month as an integer
-	 * 
-	 * @return The actual month as an integer
-	 */
-	public int month() {
-		return _calendar.get(Calendar.MONTH) + 1;
-	}
-
-	/**
-	 * Check for whether a timezone was specified at creation
-	 * 
-	 * @return True if a timezone was specified. False otherwise
-	 */
-	public boolean timezoned() {
-		return _timezoned;
-	}
-
-	/**
-	 * Retrieves a String representation of the stored month
-	 * 
-	 * @return String representation of the stored month
-	 */
-	@Override
-	public String string_value() {
-		String ret = "--";
-
-		ret += XSDateTime.pad_int(month(), 2);
-
-		if (timezoned()) {
-			
-			int hrs = tz().hours();
-			int min = tz().minutes();
-			double secs = tz().seconds();
-			if (hrs == 0 && min == 0 && secs == 0) {
-			  ret += "Z";
-			}
-			else {
-			  String tZoneStr = "";
-			  if (tz().negative()) {
-				tZoneStr += "-";  
-			  }
-			  else {
-				tZoneStr += "+"; 
-			  }
-			  tZoneStr += XSDateTime.pad_int(hrs, 2);  
-			  tZoneStr += ":";
-			  tZoneStr += XSDateTime.pad_int(min, 2);
-			  
-			  ret += tZoneStr;
-			}
-		}
-
-		return ret;
-	}
-
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:gMonth" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_G_MONTH;
-	}
-
-	/**
-	 * Retrieves the Calendar representation of the month stored
-	 * 
-	 * @return Calendar representation of the month stored
-	 */
-	public Calendar calendar() {
-		return _calendar;
-	}
-
-	/**
-	 * Equality comparison between this and the supplied representation. This
-	 * representation must be of type XSGMonth
-	 * 
-	 * @param arg
-	 *            The XSGMonth to compare with
-	 * @return True if the two representations are of the same month. False
-	 *         otherwise
-	 * @throws DynamicError
-	 */
-	public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
-		XSGMonth val = (XSGMonth) NumericType.get_single_type(arg,
-				XSGMonth.class);
-		Calendar thiscal = normalizeCalendar(calendar(), tz());
-		Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-
-		return thiscal.equals(thatcal);
-	}
-	
-	/**
-	 * Retrieves the timezone associated with the date stored
-	 * 
-	 * @return the timezone associated with the date stored
-	 * @since 1.1
-	 */
-	public XSDuration tz() {
-		return _tz;
-	}	
-	
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGMonthDay.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGMonthDay.java
deleted file mode 100644
index f2233b9..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGMonthDay.java
+++ /dev/null
@@ -1,337 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver (STAR) - bug 262765 - Fix parsing of gMonthDay to valid date
- *     David Carver (STAR) - bug 282223 - fix timezone adjustment creation.
- *                                        fixed casting issue.
- *     David Carver - bug 280547 - fix dates for comparison 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.*;
-
-import java.util.*;
-
-/**
- * A representation of the MonthDay datatype
- */
-public class XSGMonthDay extends CalendarType implements CmpEq {
-
-	private static final String XS_G_MONTH_DAY = "xs:gMonthDay";
-	private Calendar _calendar;
-	private boolean _timezoned;
-	private XSDuration _tz;
-	
-
-	/**
-	 * Initialises a representation of the supplied month and day
-	 * 
-	 * @param cal
-	 *            Calendar representation of the month and day to be stored
-	 * @param tz
-	 *            Timezone associated with this month and day
-	 */
-	public XSGMonthDay(Calendar cal, XSDuration tz) {
-		_calendar = cal;
-		if (tz != null) {
-			_timezoned = true;
-			_tz = tz;
-		}
-	}
-
-	/**
-	 * Initialises a representation of the current month and day
-	 */
-	public XSGMonthDay() {
-		this(new GregorianCalendar(TimeZone.getTimeZone("GMT")), null);
-	}
-
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "gMonthDay" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "gMonthDay";
-	}
-
-	/**
-	 * Parses a String representation of a month and day and constructs a new
-	 * XSGMonthDay representation of it.
-	 * 
-	 * @param str
-	 *            The String representation of the month and day (and optional
-	 *            timezone)
-	 * @return The XSGMonthDay representation of the supplied date
-	 */
-	public static XSGMonthDay parse_gMonthDay(String str) {
-
-		String startdate = "1972-";
-		String starttime = "T00:00:00";
-
-		int index = str.lastIndexOf('+', str.length());
-				
-		if (index == -1)
-			index = str.lastIndexOf('-');
-		if (index == -1)
-			index = str.lastIndexOf('Z', str.length());
-		if (index != -1) {
-			int zIndex = str.lastIndexOf('Z', str.length());
-			if (zIndex == -1) {
-				if (index > 5)
-					zIndex = index;
-			}
-			if (zIndex == -1) {
-				zIndex = str.lastIndexOf('+');
-			}
-
-			
-			String[] split = str.split("-");
-			startdate += split[2].replace("Z", "") + "-" + split[3].replace("Z", "").substring(0, 2);
-			
-			if (split.length > 4) {
-				String[] timesplit = split[4].split(":");
-				if (timesplit.length < 3) {
-					starttime = "T";
-					StringBuffer buf = new StringBuffer(starttime);
-					for (int cnt = 0; cnt < timesplit.length; cnt++) {
-						buf.append(timesplit[cnt] + ":");
-					}
-					buf.append("00");
-					starttime = buf.toString();
-				} else {
-					starttime += timesplit[0] + ":" + timesplit[1] + ":" + timesplit[2];
-				}
-			}
-
-			startdate = startdate.trim();
-			startdate += starttime;
-
-			
-			if (zIndex != -1) {
-				startdate += str.substring(zIndex);
-			}
-		} else {
-			startdate += starttime;
-		}
-
-		XSDateTime dt = XSDateTime.parseDateTime(startdate);
-		if (dt == null)
-			return null;
-
-		return new XSGMonthDay(dt.calendar(), dt.tz());
-	}
-
-	/**
-	 * Creates a new ResultSequence consisting of the extractable gMonthDay in
-	 * the supplied ResultSequence
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which the gMonthDay is to be extracted
-	 * @return New ResultSequence consisting of the supplied month and day
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		AnyAtomicType aat = (AnyAtomicType) arg.first();
-		if (aat instanceof NumericType || aat instanceof XSDuration || 
-			aat instanceof XSTime || isGDataType(aat) ||
-			aat instanceof XSBoolean || aat instanceof XSBase64Binary ||
-			aat instanceof XSHexBinary || aat instanceof XSAnyURI) {
-			throw DynamicError.invalidType();
-		}
-
-		if (!isCastable(aat)) {
-			throw DynamicError.cant_cast(null);
-		}
-		
-		XSGMonthDay val = castGMonthDay(aat);
-
-		if (val == null)
-			throw DynamicError.cant_cast(null);
-
-		rs.add(val);
-
-		return rs;
-	}
-
-	protected boolean isGDataType(AnyAtomicType aat) {
-		String type = aat.string_type();
-		if (type.equals("xs:gDay") ||
-			type.equals("xs:gMonth") ||
-			type.equals("xs:gYear") ||
-			type.equals("xs:gYearMonth")) {
-			return true;
-		}
-		return false;
-	}
-	
-	private boolean isCastable(AnyAtomicType aat) {
-		if (aat instanceof XSString || aat instanceof XSUntypedAtomic) {
-			return true;
-		}
-		
-		if (aat instanceof XSTime) {
-			return false;
-		}
-		
-		if (aat instanceof XSDate || aat instanceof XSDateTime || 
-			aat instanceof XSGMonthDay) {
-			return true;
-		}
-		
-		return false;
-	}
-	
-	private XSGMonthDay castGMonthDay(AnyAtomicType aat) {
-		if (aat instanceof XSGMonthDay) {
-			XSGMonthDay gmd = (XSGMonthDay) aat;
-			return new XSGMonthDay(gmd.calendar(), gmd.tz());
-		}
-		
-		if (aat instanceof XSDate) {
-			XSDate date = (XSDate) aat;
-			return new XSGMonthDay(date.calendar(), date.tz());
-		}
-		
-		if (aat instanceof XSDateTime) {
-			XSDateTime dateTime = (XSDateTime) aat;
-			return new XSGMonthDay(dateTime.calendar(), dateTime.tz());
-		}
-		
-		return parse_gMonthDay(aat.string_value());
-	}
-	
-	/**
-	 * Retrieves the actual month as an integer
-	 * 
-	 * @return The actual month as an integer
-	 */
-	public int month() {
-		return _calendar.get(Calendar.MONTH) + 1;
-	}
-
-	/**
-	 * Retrieves the actual day as an integer
-	 * 
-	 * @return The actual day as an integer
-	 */
-	public int day() {
-		return _calendar.get(Calendar.DAY_OF_MONTH);
-	}
-
-	/**
-	 * Check for whether a timezone was specified at creation
-	 * 
-	 * @return True if a timezone was specified. False otherwise
-	 */
-	public boolean timezoned() {
-		return _timezoned;
-	}
-
-	/**
-	 * Retrieves a String representation of the stored month and day
-	 * 
-	 * @return String representation of the stored month and day
-	 */
-	@Override
-	public String string_value() {
-		String ret = "--";
-
-		Calendar adjustFortimezone = calendar();
-		
-		ret += XSDateTime.pad_int(month(), 2);
-
-		ret += "-";
-		ret += XSDateTime.pad_int(adjustFortimezone.get(Calendar.DAY_OF_MONTH), 2);
-
-		if (timezoned()) {
-			
-			int hrs = tz().hours();
-			int min = tz().minutes();
-			double secs = tz().seconds();
-			if (hrs == 0 && min == 0 && secs == 0) {
-			  ret += "Z";
-			}
-			else {
-			  String tZoneStr = "";
-			  if (tz().negative()) {
-				tZoneStr += "-";  
-			  }
-			  else {
-				tZoneStr += "+"; 
-			  }
-			  tZoneStr += XSDateTime.pad_int(hrs, 2);  
-			  tZoneStr += ":";
-			  tZoneStr += XSDateTime.pad_int(min, 2);
-			  
-			  ret += tZoneStr;
-			}
-		}
-
-		return ret;
-	}
-
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:gMonthDay" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_G_MONTH_DAY;
-	}
-
-	/**
-	 * Retrieves the Calendar representation of the month and day stored
-	 * 
-	 * @return Calendar representation of the month and day stored
-	 */
-	public Calendar calendar() {
-		return _calendar;
-	}
-
-	/**
-	 * Equality comparison between this and the supplied representation. This
-	 * representation must be of type XSGMonthDay
-	 * 
-	 * @param arg
-	 *            The XSGMonthDay to compare with
-	 * @return True if the two representations are of the same month and day.
-	 *         False otherwise
-	 * @throws DynamicError
-	 */
-	public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
-		XSGMonthDay val = (XSGMonthDay) NumericType.get_single_type(arg,
-				XSGMonthDay.class);
-
-		return calendar().equals(val.calendar());
-	}
-	
-	/**
-	 * Retrieves the timezone associated with the date stored
-	 * 
-	 * @return the timezone associated with the date stored
-	 */
-	public XSDuration tz() {
-		return _tz;
-	}	
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGYear.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGYear.java
deleted file mode 100644
index 9386d27..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGYear.java
+++ /dev/null
@@ -1,294 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver (STAR) - bug 282223 - fix casting issues. 
- *     David Carver - bug 280547 - fix dates for comparison 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.*;
-
-import java.util.*;
-
-/**
- * A representation of the gMonth datatype
- */
-public class XSGYear extends CalendarType implements CmpEq {
-
-	private static final String XS_G_YEAR = "xs:gYear";
-	private Calendar _calendar;
-	private boolean _timezoned;
-	private XSDuration _tz;
-
-
-	/**
-	 * Initialises a representation of the supplied month
-	 * 
-	 * @param cal
-	 *            Calendar representation of the month to be stored
-	 * @param tz
-	 *            Timezone associated with this month
-	 */
-	public XSGYear(Calendar cal, XSDuration tz) {
-		_calendar = cal;
-		if (tz != null) {
-			_timezoned = true;
-			_tz = tz;
-		}
-		
-	}
-
-	/**
-	 * Initialises a representation of the current year
-	 */
-	public XSGYear() {
-		this(new GregorianCalendar(TimeZone.getTimeZone("GMT")), null);
-	}
-
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "gYear" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "gYear";
-	}
-
-	/**
-	 * Parses a String representation of a year and constructs a new XSGYear
-	 * representation of it.
-	 * 
-	 * @param str
-	 *            The String representation of the year (and optional timezone)
-	 * @return The XSGYear representation of the supplied date
-	 */
-	public static XSGYear parse_gYear(String str) {
-
-
-		String year = "";
-		String monthDaytime = "-01-01T00:00:00.0";
-		
-
-		int index = str.indexOf('+', 1);
-		if (index == -1)
-			index = str.indexOf('-', 1);
-		if (index == -1)
-			index = str.indexOf('Z', 1);
-		if (index != -1) {
-			year = str.substring(0, index);
-			year += monthDaytime;
-			year += str.substring(index, str.length());
-		} else {
-			year = str + monthDaytime;
-		}
-
-		XSDateTime dt = XSDateTime.parseDateTime(year);
-		if (dt == null)
-			return null;
-
-		return new XSGYear(dt.calendar(), dt.tz());
-	}
-
-	/**
-	 * Creates a new ResultSequence consisting of the extractable gYear in the
-	 * supplied ResultSequence
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which the gYear is to be extracted
-	 * @return New ResultSequence consisting of the supplied year
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		AnyAtomicType aat = (AnyAtomicType) arg.first();
-		if (aat instanceof NumericType || aat instanceof XSDuration ||
-			aat instanceof XSTime || isGDataType(aat) ||
-			aat instanceof XSBoolean || aat instanceof XSBase64Binary ||
-			aat instanceof XSHexBinary || aat instanceof XSAnyURI) {
-			throw DynamicError.invalidType();
-		}
-		
-		if (!isCastable(aat)) {
-			throw DynamicError.cant_cast(null);
-		}
-		
-		XSGYear val = castGYear(aat);
-
-		if (val == null)
-			throw DynamicError.cant_cast(null);
-
-		rs.add(val);
-
-		return rs;
-	}
-	
-	protected boolean isGDataType(AnyAtomicType aat) {
-		String type = aat.string_type();
-		if (type.equals("xs:gMonthDay") ||
-			type.equals("xs:gDay") ||
-			type.equals("xs:gMonth") ||
-			type.equals("xs:gYearMonth")) {
-			return true;
-		}
-		return false;
-	}
-	
-	private boolean isCastable(AnyAtomicType aat) {
-		if (aat instanceof XSString || aat instanceof XSUntypedAtomic) {
-			return true;
-		}
-		
-		if (aat instanceof XSTime) {
-			return false;
-		}
-		
-		if (aat instanceof XSDate || aat instanceof XSDateTime || 
-			aat instanceof XSGYear) {
-			return true;
-		}
-		
-		return false;
-	}
-	
-	private XSGYear castGYear(AnyAtomicType aat) {
-		if (aat instanceof XSGYear) {
-			XSGYear gy = (XSGYear) aat;
-			return new XSGYear(gy.calendar(), gy.tz());
-		}
-		
-		if (aat instanceof XSDate) {
-			XSDate date = (XSDate) aat;
-			return new XSGYear(date.calendar(), date.tz());
-		}
-		
-		if (aat instanceof XSDateTime) {
-			XSDateTime dateTime = (XSDateTime) aat;
-			return new XSGYear(dateTime.calendar(), dateTime.tz());
-		}
-		
-		return parse_gYear(aat.string_value());
-	}
-
-	/**
-	 * Retrieves the actual year as an integer
-	 * 
-	 * @return The actual year as an integer
-	 */
-	public int year() {
-		int y = _calendar.get(Calendar.YEAR);
-		if (_calendar.get(Calendar.ERA) == GregorianCalendar.BC)
-			y *= -1;
-
-		return y;
-	}
-
-	/**
-	 * Check for whether a timezone was specified at creation
-	 * 
-	 * @return True if a timezone was specified. False otherwise
-	 */
-	public boolean timezoned() {
-		return _timezoned;
-	}
-
-	/**
-	 * Retrieves a String representation of the stored year
-	 * 
-	 * @return String representation of the stored year
-	 */
-	@Override
-	public String string_value() {
-		String ret = "";
-
-		ret += XSDateTime.pad_int(year(), 4);
-
-		if (timezoned()) {
-			
-			int hrs = tz().hours();
-			int min = tz().minutes();
-			double secs = tz().seconds();
-			if (hrs == 0 && min == 0 && secs == 0) {
-			  ret += "Z";
-			}
-			else {
-			  String tZoneStr = "";
-			  if (tz().negative()) {
-				tZoneStr += "-";  
-			  }
-			  else {
-				tZoneStr += "+"; 
-			  }
-			  tZoneStr += XSDateTime.pad_int(hrs, 2);  
-			  tZoneStr += ":";
-			  tZoneStr += XSDateTime.pad_int(min, 2);
-			  
-			  ret += tZoneStr;
-			}
-		}
-
-		return ret;
-	}
-
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:gYear" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_G_YEAR;
-	}
-
-	/**
-	 * Retrieves the Calendar representation of the year stored
-	 * 
-	 * @return Calendar representation of the year stored
-	 */
-	public Calendar calendar() {
-		return _calendar;
-	}
-
-	/**
-	 * Equality comparison between this and the supplied representation. This
-	 * representation must be of type XSGYear
-	 * 
-	 * @param arg
-	 *            The XSGYear to compare with
-	 * @return True if the two representations are of the same year. False
-	 *         otherwise
-	 * @throws DynamicError
-	 */
-	public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
-		XSGYear val = (XSGYear) NumericType.get_single_type(arg, XSGYear.class);
-		Calendar thiscal = normalizeCalendar(calendar(), tz());
-		Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-
-		return thiscal.equals(thatcal);
-	}
-	
-	/**
-	 * Retrieves the timezone associated with the date stored
-	 * 
-	 * @return the timezone associated with the date stored
-	 */
-	public XSDuration tz() {
-		return _tz;
-	}	
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGYearMonth.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGYearMonth.java
deleted file mode 100644
index ef11419..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGYearMonth.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver (STAR) - bug 282223 - fixed casting issues. 
- *     David Carver - bug 280547 - fix dates for comparison 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.*;
-
-import java.util.*;
-
-/**
- * A representation of the YearMonth datatype
- */
-public class XSGYearMonth extends CalendarType implements CmpEq {
-
-	private static final String XS_G_YEAR_MONTH = "xs:gYearMonth";
-	private Calendar _calendar;
-	private boolean _timezoned;
-	private XSDuration _tz;
-
-
-	/**
-	 * Initialises a representation of the supplied year and month
-	 * 
-	 * @param cal
-	 *            Calendar representation of the year and month to be stored
-	 * @param tz
-	 *            Timezone associated with this year and month
-	 */
-	public XSGYearMonth(Calendar cal, XSDuration tz) {
-		_calendar = cal;
-		if (tz != null) {
-			_timezoned = true;
-			_tz = tz;
-		}
-	}
-
-	/**
-	 * Initialises a representation of the current year and month
-	 */
-	public XSGYearMonth() {
-		this(new GregorianCalendar(TimeZone.getTimeZone("GMT")), null);
-	}
-
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "gYearMonth" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "gYearMonth";
-	}
-
-	/**
-	 * Parses a String representation of a year and month and constructs a new
-	 * XSGYearMonth representation of it.
-	 * 
-	 * @param str
-	 *            The String representation of the year and month (and optional
-	 *            timezone)
-	 * @return The XSGYearMonth representation of the supplied date
-	 */
-	public static XSGYearMonth parse_gYearMonth(String str) {
-
-		String yearMonth = "";
-		String dayTime = "-01T00:00:00.0";
-
-		int index = str.indexOf('+', 1);
-		if (index == -1) {
-			index = str.indexOf('-', 1);
-			if (index == -1)
-				return null;
-			index = str.indexOf('-', index + 1);
-		}
-		if (index == -1)
-			index = str.indexOf('Z', 1);
-		if (index != -1) {
-			yearMonth = str.substring(0, index);
-			yearMonth += dayTime;
-			yearMonth += str.substring(index, str.length());
-		} else {
-			yearMonth = str + dayTime;
-		}
-
-		XSDateTime dt = XSDateTime.parseDateTime(yearMonth);
-		if (dt == null)
-			return null;
-
-		return new XSGYearMonth(dt.calendar(), dt.tz());
-	}
-
-	/**
-	 * Creates a new ResultSequence consisting of the extractable gYearMonth in
-	 * the supplied ResultSequence
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which the gYearMonth is to be
-	 *            extracted
-	 * @return New ResultSequence consisting of the supplied year and month
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		AnyAtomicType aat = (AnyAtomicType) arg.first();
-		if (aat instanceof NumericType || aat instanceof XSDuration ||
-			aat instanceof XSTime || isGDataType(aat) ||
-			aat instanceof XSBoolean || aat instanceof XSBase64Binary ||
-			aat instanceof XSHexBinary || aat instanceof XSAnyURI) {
-			throw DynamicError.invalidType();
-		}
-
-		if (!isCastable(aat)) {
-			throw DynamicError.cant_cast(null);
-		}
-		
-		XSGYearMonth val = castGYearMonth(aat); 
-
-		if (val == null)
-			throw DynamicError.cant_cast(null);
-
-		rs.add(val);
-
-		return rs;
-	}
-	
-	protected boolean isGDataType(AnyAtomicType aat) {
-		String type = aat.string_type();
-		if (type.equals("xs:gMonthDay") ||
-			type.equals("xs:gDay") ||
-			type.equals("xs:gMonth") ||
-			type.equals("xs:gYear")) {
-			return true;
-		}
-		return false;
-	}
-	
-	private boolean isCastable(AnyAtomicType aat) {
-		
-		if (aat instanceof XSString || aat instanceof XSUntypedAtomic) {
-			return true;
-		}
-		
-		if (aat instanceof XSGYearMonth) {
-			return true;
-		}
-		
-		if (aat instanceof XSDate) {
-			return true;
-		}
-		
-		if (aat instanceof XSTime) {
-			return false;
-		}
-		
-		if (aat instanceof XSDateTime) {
-			return true;
-		}
-		
-		return false;
-		
-	}
-	
-	private XSGYearMonth castGYearMonth(AnyAtomicType aat) {
-		if (aat instanceof XSGYearMonth) {
-			XSGYearMonth gym = (XSGYearMonth) aat;
-			return new XSGYearMonth(gym.calendar(), gym.tz());
-		}
-		
-		if (aat instanceof XSDate) {
-			XSDate date = (XSDate) aat;
-			return new XSGYearMonth(date.calendar(), date.tz());
-		}
-		
-		if (aat instanceof XSDateTime) {
-			XSDateTime dateTime = (XSDateTime) aat;
-			return new XSGYearMonth(dateTime.calendar(), dateTime.tz());
-		}
-		
-		return parse_gYearMonth(aat.string_value());
-	}
-
-	/**
-	 * Retrieves the actual year as an integer
-	 * 
-	 * @return The actual year as an integer
-	 */
-	public int year() {
-		int y = _calendar.get(Calendar.YEAR);
-		if (_calendar.get(Calendar.ERA) == GregorianCalendar.BC)
-			y *= -1;
-
-		return y;
-	}
-
-	/**
-	 * Retrieves the actual month as an integer
-	 * 
-	 * @return The actual month as an integer
-	 */
-	public int month() {
-		return _calendar.get(Calendar.MONTH) + 1;
-	}
-
-	/**
-	 * Check for whether a timezone was specified at creation
-	 * 
-	 * @return True if a timezone was specified. False otherwise
-	 */
-	public boolean timezoned() {
-		return _timezoned;
-	}
-
-	/**
-	 * Retrieves a String representation of the stored year and month
-	 * 
-	 * @return String representation of the stored year and month
-	 */
-	@Override
-	public String string_value() {
-		String ret = "";
-
-		ret += XSDateTime.pad_int(year(), 4);
-
-		ret += "-";
-		ret += XSDateTime.pad_int(month(), 2);
-
-		if (timezoned()) {
-			
-			int hrs = tz().hours();
-			int min = tz().minutes();
-			double secs = tz().seconds();
-			if (hrs == 0 && min == 0 && secs == 0) {
-			  ret += "Z";
-			}
-			else {
-			  String tZoneStr = "";
-			  if (tz().negative()) {
-				tZoneStr += "-";  
-			  }
-			  else {
-				tZoneStr += "+"; 
-			  }
-			  tZoneStr += XSDateTime.pad_int(hrs, 2);  
-			  tZoneStr += ":";
-			  tZoneStr += XSDateTime.pad_int(min, 2);
-			  
-			  ret += tZoneStr;
-			}
-		}
-
-		return ret;
-	}
-
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:gYearMonth" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_G_YEAR_MONTH;
-	}
-
-	/**
-	 * Retrieves the Calendar representation of the year and month stored
-	 * 
-	 * @return Calendar representation of the year and month stored
-	 */
-	public Calendar calendar() {
-		return _calendar;
-	}
-
-	/**
-	 * Equality comparison between this and the supplied representation. This
-	 * representation must be of type XSGYearMonth
-	 * 
-	 * @param arg
-	 *            The XSGYearMonth to compare with
-	 * @return True if the two representations are of the same year and month.
-	 *         False otherwise
-	 * @throws DynamicError
-	 */
-	public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
-		XSGYearMonth val = (XSGYearMonth) NumericType.get_single_type(arg,
-				XSGYearMonth.class);
-		Calendar thiscal = normalizeCalendar(calendar(), tz());
-		Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-
-		return thiscal.equals(thatcal);
-	}
-	
-	/**
-	 * Retrieves the timezone associated with the date stored
-	 * 
-	 * @return the timezone associated with the date stored
-	 */
-	public XSDuration tz() {
-		return _tz;
-	}	
-	
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSHexBinary.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSHexBinary.java
deleted file mode 100644
index 05b0e2d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSHexBinary.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Mukul Gandhi - bug 281054 - initial API and implementation
- *     David Carver (STAR) - bug 228223 - fixed casting issue.  Needed to encode the value. 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.apache.xerces.impl.dv.util.Base64;
-import org.apache.xerces.impl.dv.util.HexBin;
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-
-/**
- * A representation of the xs:hexBinary datatype
- */
-public class XSHexBinary extends CtrType implements CmpEq {
-
-	private static final String XS_HEX_BINARY = "xs:hexBinary";
-	private String _value;
-
-	/**
-	 * Initialises using the supplied String
-	 * 
-	 * @param x
-	 *            The String to initialise to
-	 */
-	public XSHexBinary(String x) {
-		_value = x;
-	}
-
-	/**
-	 * Initialises to null
-	 */
-	public XSHexBinary() {
-		this(null);
-	}
-
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:hexBinary" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_HEX_BINARY;
-	}
-
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "hexBinary" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "hexBinary";
-	}
-
-	/**
-	 * Retrieves a String representation of the base64Binary stored. This method is
-	 * functionally identical to value()
-	 * 
-	 * @return The hexBinary stored
-	 */
-	@Override
-	public String string_value() {
-		return _value.toUpperCase();
-	}
-
-	/**
-	 * Retrieves a String representation of the hexBinary stored. This method is
-	 * functionally identical to string_value()
-	 * 
-	 * @return The hexBinary stored
-	 */
-	public String value() {
-		return _value;
-	}
-
-	/**
-	 * Creates a new ResultSequence consisting of the hexBinary value
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which to construct hexBinary value 
-	 * @return New ResultSequence representing hexBinary value 
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		AnyAtomicType aat = (AnyAtomicType) arg.first();
-		if (aat instanceof NumericType || aat instanceof XSDuration ||
-			aat instanceof CalendarType || aat instanceof XSBoolean ||
-			aat instanceof XSAnyURI) {
-			throw DynamicError.invalidType();
-		}
-
-		String str_value = aat.string_value();
-		
-		if (!(aat instanceof XSHexBinary ||
-				  aat instanceof XSString ||
-				  aat instanceof XSUntypedAtomic ||
-				  aat instanceof XSBase64Binary)) {
-				throw DynamicError.cant_cast(null);
-			}
-		
-		if (aat instanceof XSUntypedAtomic || aat instanceof XSString) {
-			String[] nonHexValues = null;
-			try {
-				nonHexValues = str_value.split("[0-9a-fA-F]");
-			} catch (Exception ex) {
-				throw DynamicError.throw_type_error();
-			}
-			
-			String[] binValues = null;
-			try {
-				binValues = str_value.split("[0-1]");
-			} catch (Exception ex) {
-				throw DynamicError.throw_type_error();
-			}
-			
-			if (nonHexValues.length > 0 || binValues.length == 0) {
-				throw DynamicError.invalidForCastConstructor();
-			}			
-		}
-
-		
-		byte[] decodedValue = null;
-		
-		if (aat instanceof XSBase64Binary) {
-			decodedValue = Base64.decode(str_value);
-			decodedValue = HexBin.encode(decodedValue).getBytes();
-		} else {
-			decodedValue = str_value.getBytes();
- 		}
-		
-		if (decodedValue != null) {
-		  rs.add(new XSHexBinary(new String(decodedValue)));
-		}
-		else {
-		  // invalid hexBinary string
-		  throw DynamicError.throw_type_error();	
-		}
-
-		return rs;
-	}
-
-
-
-	/**
-	 * Equality comparison between this and the supplied representation which
-	 * must be of type hexBinary
-	 * 
-	 * @param arg
-	 *            The representation to compare with
-	 * @return True if the two representation are same. False otherwise.
-	 *         
-	 * @throws DynamicError
-	 */
-	public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
-      String valToCompare = arg.string_value();
-      
-      byte[] value1 = HexBin.decode(_value);
-      byte[] value2 = HexBin.decode(valToCompare);
-      if (value2 == null) {
-    	return false;  
-      }
-      
-      int len = value1.length;
-      if (len != value2.length) {
-        return false;
-      }
-      
-      for (int i = 0; i < len; i++) {
-        if (value1[i] != value2[i]) {
-          return false;
-        }
-      }
-      
-      return true;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSID.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSID.java
deleted file mode 100644
index b2e6ff3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSID.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver (STAR) bug 228223 - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-/*
- * Implements the xs:ID data type.
- * 
- * @since 1.1
- */
-public class XSID extends XSNCName {
-
-	private static final String XS_ID = "xs:ID";
-
-	public XSID(String x) {
-		super(x);
-	}
-
-	public XSID() {
-		super();
-	}
-
-	@Override
-	public String string_type() {
-		return XS_ID;
-	}
-	
-	@Override
-	public String type_name() {
-		return "ID";
-	}
-	
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		AnyAtomicType aat = (AnyAtomicType) arg.first();
-
-		rs.add(new XSID(aat.string_value()));
-
-		return rs;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSIDREF.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSIDREF.java
deleted file mode 100644
index de7bf32..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSIDREF.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver (STAR) bug 228223 - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-/*
- * Implements the xs:IDREF data type.
- * 
- * @since 1.1
- */
-public class XSIDREF extends XSNCName {
-
-	private static final String XS_IDREF = "xs:IDREF";
-
-	public XSIDREF(String x) {
-		super(x);
-	}
-
-	public XSIDREF() {
-		super();
-	}
-
-	@Override
-	public String string_type() {
-		return XS_IDREF;
-	}
-	
-	@Override
-	public String type_name() {
-		return "IDREF";
-	}
-	
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		AnyAtomicType aat = (AnyAtomicType) arg.first();
-
-		rs.add(new XSIDREF(aat.string_value()));
-
-		return rs;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSInt.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSInt.java
deleted file mode 100644
index 5c1fe03..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSInt.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 Mukul Gandhi, and others

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     Mukul Gandhi - bug 275105 - implementation of xs:int data type

- *******************************************************************************/

-

-package org.eclipse.wst.xml.xpath2.processor.internal.types;

-

-import java.math.BigInteger;

-

-import org.eclipse.wst.xml.xpath2.processor.DynamicError;

-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;

-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;

-

-public class XSInt extends XSLong {

-	

-	private static final String XS_INT = "xs:int";

-

-	/**

-	 * Initializes a representation of 0

-	 */

-	public XSInt() {

-	  this(BigInteger.valueOf(0));

-	}

-	

-	/**

-	 * Initializes a representation of the supplied int value

-	 * 

-	 * @param x

-	 *            Int to be stored

-	 */

-	public XSInt(BigInteger x) {

-		super(x);

-	}

-	

-	/**

-	 * Retrieves the datatype's full pathname

-	 * 

-	 * @return "xs:int" which is the datatype's full pathname

-	 */

-	@Override

-	public String string_type() {

-		return XS_INT;

-	}

-	

-	/**

-	 * Retrieves the datatype's name

-	 * 

-	 * @return "int" which is the datatype's name

-	 */

-	@Override

-	public String type_name() {

-		return "int";

-	}

-	

-	/**

-	 * Creates a new ResultSequence consisting of the extractable 'int' in the

-	 * supplied ResultSequence

-	 * 

-	 * @param arg

-	 *            The ResultSequence from which the int is to be extracted

-	 * @return New ResultSequence consisting of the 'int' supplied

-	 * @throws DynamicError

-	 */

-	@Override

-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {

-		ResultSequence rs = ResultSequenceFactory.create_new();

-

-		if (arg.empty())

-			return rs;

-

-		// the function conversion rules apply here too. Get the argument

-		// and convert it's string value to an int.

-		AnyType aat = arg.first();

-

-		try {

-			BigInteger bigInt = new BigInteger(aat.string_value());

-			

-			// doing the range checking

-			BigInteger min = BigInteger.valueOf(-2147483648L);

-			BigInteger max = BigInteger.valueOf(2147483647L);			

-

-			if (bigInt.compareTo(min) < 0 || bigInt.compareTo(max) > 0) {

-			   // invalid input

-			   DynamicError.throw_type_error();	

-			}

-			

-			rs.add(new XSInt(bigInt));

-			

-			return rs;

-		} catch (NumberFormatException e) {

-			throw DynamicError.cant_cast(null);

-		}

-

-	}

-	

-}

diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSInteger.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSInteger.java
deleted file mode 100644
index 6e906c9..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSInteger.java
+++ /dev/null
@@ -1,378 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 274805 - improvements to xs:integer data type. Using Java
- *                      BigInteger class to enhance numerical range to -INF -> +INF.
- *     David Carver (STAR) - bug 262765 - fix comparision to zero.
- *     David Carver (STAR) - bug 282223 - fix casting issues.
- *     Jesper Steen Moller - bug 262765 - fix type tests
- *     Jesper Steen Moller - bug 281028 - Added constructor from string
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.math.RoundingMode;
-import java.util.Iterator;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-/**
- * A representation of the Integer datatype
- */
-public class XSInteger extends XSDecimal {
-
-	private static final String XS_INTEGER = "xs:integer";
-	private BigInteger _value;
-
-	/**
-	 * Initializes a representation of 0
-	 */
-	public XSInteger() {
-		this(BigInteger.valueOf(0));
-	}
-
-	/**
-	 * Initializes a representation of the supplied integer
-	 * 
-	 * @param x
-	 *            Integer to be stored
-	 */
-	public XSInteger(BigInteger x) {
-		super(new BigDecimal(x));
-		_value = x;
-	}
-
-	/**
-	 * Initializes a representation of the supplied integer
-	 * 
-	 * @param x
-	 *            Integer to be stored
-	 */
-	public XSInteger(String x) {
-		super(new BigDecimal(x));
-		_value = new BigInteger(x);
-	}
-
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:integer" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_INTEGER;
-	}
-
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "integer" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "integer";
-	}
-
-	/**
-	 * Retrieves a String representation of the integer stored
-	 * 
-	 * @return String representation of the integer stored
-	 */
-	@Override
-	public String string_value() {
-		return _value.toString();
-	}
-
-	/**
-	 * Check whether the integer represented is 0
-	 * 
-	 * @return True is the integer represented is 0. False otherwise
-	 */
-	@Override
-	public boolean zero() {
-		return (_value.compareTo(BigInteger.ZERO) == 0);
-	}
-
-	/**
-	 * Creates a new ResultSequence consisting of the extractable integer in the
-	 * supplied ResultSequence
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which the integer is to be extracted
-	 * @return New ResultSequence consisting of the integer supplied
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		// the function conversion rules apply here too. Get the argument
-		// and convert it's string value to an integer.
-		AnyType aat = arg.first();
-
-		if (aat instanceof XSDuration || aat instanceof CalendarType ||
-			aat instanceof XSBase64Binary || aat instanceof XSHexBinary ||
-			aat instanceof XSAnyURI) {
-			throw DynamicError.invalidType();
-		}
-		
-		if (!isCastable(aat)) {
-			throw DynamicError.cant_cast(null);
-		}
-
-		
-		try {
-			BigInteger bigInt = castInteger(aat);
-			rs.add(new XSInteger(bigInt));
-			return rs;
-		} catch (NumberFormatException e) {
-			throw DynamicError.invalidLexicalValue();
-		}
-
-	}
-	
-	private BigInteger castInteger(AnyType aat) {
-		if (aat instanceof XSBoolean) {
-			if (aat.string_value().equals("true")) {
-				return BigInteger.ONE;
-			} else {
-				return BigInteger.ZERO;
-			}
-		}
-		
-		if (aat instanceof XSDecimal || aat instanceof XSFloat ||
-				aat instanceof XSDouble) {
-				BigDecimal bigDec =  new BigDecimal(aat.string_value());
-				return bigDec.toBigInteger();
-		}
-		
-		return new BigInteger(aat.string_value());
-	}
-	
-	private boolean isCastable(AnyType aat) throws DynamicError {
-		if (aat instanceof XSString || aat instanceof XSUntypedAtomic ||
-			aat instanceof NodeType) {
-			if (isLexicalValue(aat.string_value())) {
-				return true;
-			} else {
-				return false;
-			}
-		}
-		if (aat instanceof XSBoolean || aat instanceof NumericType) {
-			return true;
-		}
-		return false;
-	}
-	
-	@Override
-	protected boolean isLexicalValue(String value) {
-		
-		try {
-			new BigInteger(value);
-		} catch (NumberFormatException ex) {
-			return false;
-		}
-		
-		return true;
-	}
-
-	/**
-	 * Retrieves the actual integer value stored
-	 * 
-	 * @return The actual integer value stored
-	 */
-	public BigInteger int_value() {
-		return _value;
-	}
-
-	/**
-	 * Sets the integer stored to that supplied
-	 * 
-	 * @param x
-	 *            Integer to be stored
-	 */
-	public void set_int(BigInteger x) {
-		_value = x;
-		set_double(x.intValue());
-	}
-
-	/**
-	 * Mathematical addition operator between this XSInteger and the supplied
-	 * ResultSequence. 
-	 * 
-	 * @param arg
-	 *            The ResultSequence to perform an addition with
-	 * @return A XSInteger consisting of the result of the mathematical
-	 *         addition.
-	 */
-	@Override
-	public ResultSequence plus(ResultSequence arg) throws DynamicError {
-		ResultSequence carg = convertResultSequence(arg);
-		AnyType at = get_single_arg(carg);
-		if (!(at instanceof XSInteger))
-			DynamicError.throw_type_error();
-		
-		XSInteger val = (XSInteger)at;
-
-		return ResultSequenceFactory.create_new(new 
-				                   XSInteger(int_value().add(val.int_value())));
-		
-	}
-
-	
-	private ResultSequence convertResultSequence(ResultSequence arg)
-			throws DynamicError {
-		ResultSequence carg = arg;
-		Iterator it = carg.iterator();
-		while (it.hasNext()) {
-			AnyType type = (AnyType) it.next();
-			if (type.string_type().equals("xs:untypedAtomic") ||
-				type.string_type().equals("xs:string")) {
-				throw DynamicError.invalidType();
-			}
-		}
-		carg = constructor(carg);
-		return carg;
-	}	
-	
-	/**
-	 * Mathematical subtraction operator between this XSInteger and the supplied
-	 * ResultSequence. 
-	 * 
-	 * @param arg
-	 *            The ResultSequence to perform a subtraction with
-	 * @return A XSInteger consisting of the result of the mathematical
-	 *         subtraction.
-	 */
-	@Override
-	public ResultSequence minus(ResultSequence arg) throws DynamicError {
-		ResultSequence carg = convertResultSequence(arg);
-		XSInteger val = (XSInteger) get_single_type(carg, XSInteger.class);
-		
-		return ResultSequenceFactory.create_new(new 
-				                 XSInteger(int_value().subtract(val.int_value())));
-	}
-
-	/**
-	 * Mathematical multiplication operator between this XSInteger and the
-	 * supplied ResultSequence. 
-	 * 
-	 * @param arg
-	 *            The ResultSequence to perform a multiplication with
-	 * @return A XSInteger consisting of the result of the mathematical
-	 *         multiplication.
-	 */
-	@Override
-	public ResultSequence times(ResultSequence arg) throws DynamicError {
-		ResultSequence carg = convertResultSequence(arg);
-
-		XSInteger val = (XSInteger) get_single_type(carg, XSInteger.class);
-		
-		return ResultSequenceFactory.create_new(new 
-				                 XSInteger(int_value().multiply(val.int_value())));
-	}
-
-	/**
-	 * Mathematical modulus operator between this XSInteger and the supplied
-	 * ResultSequence. 
-	 * 
-	 * @param arg
-	 *            The ResultSequence to perform a modulus with
-	 * @return A XSInteger consisting of the result of the mathematical modulus.
-	 */
-	@Override
-	public ResultSequence mod(ResultSequence arg) throws DynamicError {
-		ResultSequence carg = convertResultSequence(arg);
-
-		XSInteger val = (XSInteger) get_single_type(carg, XSInteger.class);
-		BigInteger result = int_value().remainder(val.int_value()); 
-		
-		return ResultSequenceFactory.create_new(new XSInteger(result));
-	}
-
-	/**
-	 * Negates the integer stored
-	 * 
-	 * @return New XSInteger representing the negation of the integer stored
-	 */
-	@Override
-	public ResultSequence unary_minus() {
-		return ResultSequenceFactory
-				.create_new(new XSInteger(int_value().multiply(BigInteger.valueOf(-1))));
-	}
-
-	/**
-	 * Absolutes the integer stored
-	 * 
-	 * @return New XSInteger representing the absolute of the integer stored
-	 */
-	@Override
-	public NumericType abs() {
-		return new XSInteger(int_value().abs());
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal#gt(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType)
-	 */
-	@Override
-	public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
-		AnyType carg = convertArg(arg);
-        XSInteger val = (XSInteger) get_single_type(carg, XSInteger.class);
-        
-        int compareResult = int_value().compareTo(val.int_value());
-		
-		return compareResult > 0;
-	}
-	
-	@Override
-	protected AnyType convertArg(AnyType arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new(arg);
-		rs = constructor(rs);
-		AnyType carg = rs.first();
-		return carg;
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal#lt(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType)
-	 */
-	@Override
-	public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
-		AnyType carg = convertArg(arg);
-        XSInteger val = (XSInteger) get_single_type(carg, XSInteger.class);
-        
-        int compareResult = int_value().compareTo(val.int_value());
-		
-		return compareResult < 0;
-	}
-	
-	@Override
-	public ResultSequence div(ResultSequence arg) throws DynamicError {
-		ResultSequence carg = convertResultSequence(arg);
-		
-		XSDecimal val = (XSDecimal) get_single_type(carg, XSDecimal.class);
-
-		if (val.zero()) {
-			throw DynamicError.div_zero(null);
-		}
-		
-		BigDecimal result = getValue().divide(val.getValue(), 18, RoundingMode.HALF_EVEN);
-		return ResultSequenceFactory.create_new(new XSDecimal(result));
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSLong.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSLong.java
deleted file mode 100644
index 6e04552..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSLong.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 Mukul Gandhi, and others

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     Mukul Gandhi - bug 274952 - Initial API and implementation, of xs:long data 

- *                                 type.

- *******************************************************************************/

-

-package org.eclipse.wst.xml.xpath2.processor.internal.types;

-

-import java.math.BigInteger;

-

-import org.eclipse.wst.xml.xpath2.processor.DynamicError;

-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;

-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;

-

-public class XSLong extends XSInteger {

-	

-	private static final String XS_LONG = "xs:long";

-

-	/**

-	 * Initializes a representation of 0

-	 */

-	public XSLong() {

-	  this(BigInteger.valueOf(0));

-	}

-	

-	/**

-	 * Initializes a representation of the supplied long value

-	 * 

-	 * @param x

-	 *            Long to be stored

-	 */

-	public XSLong(BigInteger x) {

-		super(x);

-	}

-	

-	/**

-	 * Retrieves the datatype's full pathname

-	 * 

-	 * @return "xs:long" which is the datatype's full pathname

-	 */

-	@Override

-	public String string_type() {

-		return XS_LONG;

-	}

-	

-	/**

-	 * Retrieves the datatype's name

-	 * 

-	 * @return "long" which is the datatype's name

-	 */

-	@Override

-	public String type_name() {

-		return "long";

-	}

-	

-	/**

-	 * Creates a new ResultSequence consisting of the extractable long in the

-	 * supplied ResultSequence

-	 * 

-	 * @param arg

-	 *            The ResultSequence from which the long is to be extracted

-	 * @return New ResultSequence consisting of the 'long' supplied

-	 * @throws DynamicError

-	 */

-	@Override

-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {

-		ResultSequence rs = ResultSequenceFactory.create_new();

-

-		if (arg.empty())

-			return rs;

-

-		// the function conversion rules apply here too. Get the argument

-		// and convert it's string value to a long.

-		AnyType aat = arg.first();

-

-		try {

-			BigInteger bigInt = new BigInteger(aat.string_value());

-			

-			// doing the range checking

-			BigInteger min = BigInteger.valueOf(-9223372036854775808L);

-			BigInteger max = BigInteger.valueOf(9223372036854775807L);			

-

-			if (bigInt.compareTo(min) < 0 || bigInt.compareTo(max) > 0) {

-			   // invalid input

-			   DynamicError.throw_type_error();	

-			}

-			

-			rs.add(new XSLong(bigInt));

-			

-			return rs;

-		} catch (NumberFormatException e) {

-			throw DynamicError.cant_cast(null);

-		}

-

-	}

-

-}

diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNCName.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNCName.java
deleted file mode 100644
index 984a5bc..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNCName.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-/**
- * A representation of the NCName datatype
- */
-public class XSNCName extends XSString {
-	private static final String XS_NC_NAME = "xs:NCName";
-
-	/**
-	 * Initialises using the supplied String
-	 * 
-	 * @param x
-	 *            String to be stored
-	 */
-	public XSNCName(String x) {
-		super(x);
-	}
-
-	/**
-	 * Initialises to null
-	 */
-	public XSNCName() {
-		this(null);
-	}
-
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:NCName" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_NC_NAME;
-	}
-
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "NCName" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "NCName";
-	}
-
-	/**
-	 * Creates a new ResultSequence consisting of the extractable NCName within
-	 * the supplied ResultSequence
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which to extract the NCName
-	 * @return New ResultSequence consisting of the NCName supplied
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		AnyAtomicType aat = (AnyAtomicType) arg.first();
-
-		rs.add(new XSNCName(aat.string_value()));
-
-		return rs;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNegativeInteger.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNegativeInteger.java
deleted file mode 100644
index 0488742..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNegativeInteger.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Mukul Gandhi - bug 277602 - Initial API and implementation, of xs:negativeInteger
- *                                 data type.
- *     David Carver (STAR) - bug 262765 - fixed abs value tests.
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.math.BigInteger;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-public class XSNegativeInteger extends XSNonPositiveInteger {
-	
-	private static final String XS_NEGATIVE_INTEGER = "xs:negativeInteger";
-
-	/**
-	 * Initializes a representation of -1
-	 */
-	public XSNegativeInteger() {
-	  this(BigInteger.valueOf(-1));
-	}
-	
-	/**
-	 * Initializes a representation of the supplied negativeInteger value
-	 * 
-	 * @param x
-	 *            negativeInteger to be stored
-	 */
-	public XSNegativeInteger(BigInteger x) {
-		super(x);
-	}
-	
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:negativeInteger" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_NEGATIVE_INTEGER;
-	}
-	
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "negativeInteger" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "negativeInteger";
-	}
-	
-	/**
-	 * Creates a new ResultSequence consisting of the extractable negativeInteger
-	 * in the supplied ResultSequence
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which the negativeInteger is to be extracted
-	 * @return New ResultSequence consisting of the 'negativeInteger' supplied
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		// the function conversion rules apply here too. Get the argument
-		// and convert it's string value to a nonPositiveInteger.
-		AnyType aat = arg.first();
-
-		try {
-			BigInteger bigInt = new BigInteger(aat.string_value());
-			
-			// doing the range checking
-			// min value is, -INF
-			// max value is -1
-			BigInteger max = BigInteger.valueOf(-1L);			
-
-			if (bigInt.compareTo(max) > 0) {
-			   // invalid input
-			   throw DynamicError.cant_cast(null);	
-			}
-			
-			rs.add(new XSNegativeInteger(bigInt));
-			
-			return rs;
-		} catch (NumberFormatException e) {
-			throw DynamicError.cant_cast(null);
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNonNegativeInteger.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNonNegativeInteger.java
deleted file mode 100644
index 15ce0d9..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNonNegativeInteger.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Mukul Gandhi - bug 277609 - Initial API and implementation, of xs:nonNegativeInteger
- *                                 data type.
- *     David Carver (STAR) - bug 262765 - fixed abs value tests.
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.math.BigInteger;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-public class XSNonNegativeInteger extends XSInteger {
-	
-	private static final String XS_NON_NEGATIVE_INTEGER = "xs:nonNegativeInteger";
-
-	/**
-	 * Initializes a representation of 0
-	 */
-	public XSNonNegativeInteger() {
-	  this(BigInteger.valueOf(0));
-	}
-	
-	/**
-	 * Initializes a representation of the supplied nonNegativeInteger value
-	 * 
-	 * @param x
-	 *            nonNegativeInteger to be stored
-	 */
-	public XSNonNegativeInteger(BigInteger x) {
-		super(x);
-	}
-	
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:nonNegativeInteger" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_NON_NEGATIVE_INTEGER;
-	}
-	
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "nonNegativeInteger" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "nonNegativeInteger";
-	}
-	
-	/**
-	 * Creates a new ResultSequence consisting of the extractable nonNegativeInteger
-	 * in the supplied ResultSequence
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which the nonNegativeInteger is to be extracted
-	 * @return New ResultSequence consisting of the 'nonNegativeInteger' supplied
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		// the function conversion rules apply here too. Get the argument
-		// and convert it's string value to a nonNegativeInteger.
-		AnyType aat = arg.first();
-
-		try {
-			BigInteger bigInt = new BigInteger(aat.string_value());
-			
-			// doing the range checking
-			// min value is, 0
-			// max value is INF
-			BigInteger min = BigInteger.valueOf(0L);			
-
-			if (bigInt.compareTo(min) < 0) {
-			   // invalid input
-			   throw DynamicError.cant_cast(null);	
-			}
-			
-			rs.add(new XSNonNegativeInteger(bigInt));
-			
-			return rs;
-		} catch (NumberFormatException e) {
-			throw DynamicError.cant_cast(null);
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNonPositiveInteger.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNonPositiveInteger.java
deleted file mode 100644
index 09412d4..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNonPositiveInteger.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Mukul Gandhi - bug 277599 - Initial API and implementation, of xs:nonPositiveInteger
- *                                 data type.
- *     David Carver (STAR) - bug 262765 - fixed abs value tests.
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.math.BigInteger;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-public class XSNonPositiveInteger extends XSInteger {
-	
-	private static final String XS_NON_POSITIVE_INTEGER = "xs:nonPositiveInteger";
-
-	/**
-	 * Initializes a representation of 0
-	 */
-	public XSNonPositiveInteger() {
-	  this(BigInteger.valueOf(0));
-	}
-	
-	/**
-	 * Initializes a representation of the supplied nonPositiveInteger value
-	 * 
-	 * @param x
-	 *            nonPositiveInteger to be stored
-	 */
-	public XSNonPositiveInteger(BigInteger x) {
-		super(x);
-	}
-	
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:nonPositiveInteger" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_NON_POSITIVE_INTEGER;
-	}
-	
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "nonPositiveInteger" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "nonPositiveInteger";
-	}
-	
-	/**
-	 * Creates a new ResultSequence consisting of the extractable nonPositiveInteger
-	 * in the supplied ResultSequence
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which the nonPositiveInteger is to be extracted
-	 * @return New ResultSequence consisting of the 'nonPositiveInteger' supplied
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		// the function conversion rules apply here too. Get the argument
-		// and convert it's string value to a nonPositiveInteger.
-		AnyType aat = arg.first();
-
-		try {
-			BigInteger bigInt = new BigInteger(aat.string_value());
-			
-			// doing the range checking
-			// min value is, -INF
-			// max value is 0
-			BigInteger max = BigInteger.valueOf(0L);			
-
-			if (bigInt.compareTo(max) > 0) {
-			   // invalid input
-			   throw DynamicError.cant_cast(null);	
-			}
-			
-			rs.add(new XSNonPositiveInteger(bigInt));
-			
-			return rs;
-		} catch (NumberFormatException e) {
-			throw DynamicError.cant_cast(null);
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNotation.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNotation.java
deleted file mode 100644
index 6da4a0b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNotation.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver (STAR) bug 282223 - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-
-public class XSNotation extends CtrType {
-
-	private static final String XS_NOTATION = "xs:NOTATION";
-
-	@Override
-	public String string_type() {
-		return XS_NOTATION;
-	}
-
-	@Override
-	public String string_value() {
-		return null;
-	}
-
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		if (arg.empty())
-			DynamicError.throw_type_error();
-		throw new DynamicError("XPST0080", "Can't Cast to NOTATION");
-	}
-
-	@Override
-	public String type_name() {
-		return "NOTATION";
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSPositiveInteger.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSPositiveInteger.java
deleted file mode 100644
index 3465faa..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSPositiveInteger.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Mukul Gandhi - bug 277632 - Initial API and implementation, of xs:positiveInteger
- *                                 data type.
- *     David Carver (STAR) - bug 262765 - fixed abs value tests.
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.math.BigInteger;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-public class XSPositiveInteger extends XSNonNegativeInteger {
-	
-	private static final String XS_POSITIVE_INTEGER = "xs:positiveInteger";
-
-	/**
-	 * Initializes a representation of 1
-	 */
-	public XSPositiveInteger() {
-	  this(BigInteger.valueOf(1));
-	}
-	
-	/**
-	 * Initializes a representation of the supplied positiveInteger value
-	 * 
-	 * @param x
-	 *            positiveInteger to be stored
-	 */
-	public XSPositiveInteger(BigInteger x) {
-		super(x);
-	}
-	
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:positiveInteger" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_POSITIVE_INTEGER;
-	}
-	
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "positiveInteger" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "positiveInteger";
-	}
-	
-	/**
-	 * Creates a new ResultSequence consisting of the extractable positiveInteger
-	 * in the supplied ResultSequence
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which the positiveInteger is to be extracted
-	 * @return New ResultSequence consisting of the 'positiveInteger' supplied
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		// the function conversion rules apply here too. Get the argument
-		// and convert it's string value to a positiveInteger.
-		AnyType aat = arg.first();
-
-		try {
-			BigInteger bigInt = new BigInteger(aat.string_value());
-			
-			// doing the range checking
-			// min value is 1
-			// max value is INF
-			BigInteger min = BigInteger.valueOf(1);
-
-			if (bigInt.compareTo(min) < 0) {
-			   // invalid input
-			   throw DynamicError.cant_cast(null);	
-			}
-			
-			rs.add(new XSPositiveInteger(bigInt));
-			
-			return rs;
-		} catch (NumberFormatException e) {
-			throw DynamicError.cant_cast(null);
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSShort.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSShort.java
deleted file mode 100644
index 7487cd6..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSShort.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Mukul Gandhi - bug 277608 - implementation of xs:short data type
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.math.BigInteger;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-public class XSShort extends XSInt {
-	
-	private static final String XS_SHORT = "xs:short";
-
-	/**
-	 * Initializes a representation of 0
-	 */
-	public XSShort() {
-	  this(BigInteger.valueOf(0));
-	}
-	
-	/**
-	 * Initializes a representation of the supplied short value
-	 * 
-	 * @param x
-	 *            Short to be stored
-	 */
-	public XSShort(BigInteger x) {
-		super(x);
-	}
-	
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:short" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_SHORT;
-	}
-	
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "short" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "short";
-	}
-	
-	/**
-	 * Creates a new ResultSequence consisting of the extractable 'short' in the
-	 * supplied ResultSequence
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which the short is to be extracted
-	 * @return New ResultSequence consisting of the 'short' supplied
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		// the function conversion rules apply here too. Get the argument
-		// and convert it's string value to a short.
-		AnyType aat = arg.first();
-
-		try {
-			BigInteger bigInt = new BigInteger(aat.string_value());
-			
-			// doing the range checking
-			BigInteger min = BigInteger.valueOf(-32768L);
-			BigInteger max = BigInteger.valueOf(32767L);			
-
-			if (bigInt.compareTo(min) < 0 || bigInt.compareTo(max) > 0) {
-			   // invalid input
-			   DynamicError.throw_type_error();	
-			}
-			
-			rs.add(new XSShort(bigInt));
-			
-			return rs;
-		} catch (NumberFormatException e) {
-			throw DynamicError.cant_cast(null);
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSString.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSString.java
deleted file mode 100644
index 85ea1d1..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSString.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - improved comparison of xs:string with other XDM types
- *  Jesper S Moller - bug 286061   correct handling of quoted string 
- *  Jesper S Moller - bug 280555 - Add pluggable collation support
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.math.BigInteger;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpGt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpLt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.FnCompare;
-
-/**
- * A representation of the String datatype
- */
-public class XSString extends CtrType implements CmpEq, CmpGt, CmpLt {
-
-	private static final String XS_STRING = "xs:string";
-	private String _value;
-
-	/**
-	 * Initialises using the supplied String
-	 * 
-	 * @param x
-	 *            The String to initialise to
-	 */
-	public XSString(String x) {
-		_value = x;
-	}
-
-	/**
-	 * Initialises to null
-	 */
-	public XSString() {
-		this(null);
-	}
-
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:string" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_STRING;
-	}
-
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "string" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "string";
-	}
-
-	/**
-	 * Retrieves a String representation of the string stored. This method is
-	 * functionally identical to value()
-	 * 
-	 * @return The String stored
-	 */
-	@Override
-	public String string_value() {
-		return _value;
-	}
-
-	/**
-	 * Retrieves a String representation of the string stored. This method is
-	 * functionally identical to string_value()
-	 * 
-	 * @return The String stored
-	 */
-	public String value() {
-		return string_value();
-	}
-
-	/**
-	 * Creates a new ResultSequence consisting of the extractable String in the
-	 * supplied ResultSequence
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which to extract the String
-	 * @return New ResultSequence consisting of the supplied String
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		//AnyAtomicType aat = (AnyAtomicType) arg.first();
-		AnyType aat = arg.first();
-
-		rs.add(new XSString(aat.string_value()));
-
-		return rs;
-	}
-
-	// comparisons
-
-	// 666 indicates death [compare returned empty seq]
-	private int do_compare(AnyType arg, DynamicContext dc) throws DynamicError {
-
-		// XXX: This can't happen, I guess
-		if (arg == null) return 666;
-
-		XSString comparand = arg instanceof XSString ? (XSString)arg : new XSString(arg.string_value());
-		
-		BigInteger result = FnCompare.compare_string(dc.default_collation_name(), this, comparand, dc);
-
-		return result.intValue();
-	}
-
-	/**
-	 * Equality comparison between this and the supplied representation which
-	 * must be of type String
-	 * 
-	 * @param arg
-	 *            The representation to compare with
-	 * @return True if the two representation are of the same String. False
-	 *         otherwise
-	 * @throws DynamicError
-	 */
-	public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
-		int cmp = do_compare(arg, context);
-
-		// XXX im not sure what to do here!!! because eq has to return
-		// something i fink....
-		if (cmp == 666)
-			assert false;
-
-		return cmp == 0;
-	}
-
-	/**
-	 * Comparison between this and the supplied representation which must be of
-	 * type String
-	 * 
-	 * @param arg
-	 *            The representation to compare with
-	 * @return True if this String is lexographically greater than that
-	 *         supplied. False otherwise
-	 * @throws DynamicError
-	 */
-	public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
-		int cmp = do_compare(arg, context);
-
-		assert cmp != 666;
-
-		return cmp > 0;
-	}
-
-	/**
-	 * Comparison between this and the supplied representation which must be of
-	 * type String
-	 * 
-	 * @param arg
-	 *            The representation to compare with
-	 * @return True if this String is lexographically less than that supplied.
-	 *         False otherwise
-	 * @throws DynamicError
-	 */
-	public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
-		int cmp = do_compare(arg, context);
-
-		assert cmp != 666;
-
-		return cmp < 0;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSTime.java
deleted file mode 100644
index fc8be42..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSTime.java
+++ /dev/null
@@ -1,455 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- *     David Carver - bug 282223 - implementation of xs:duration data type.
- *                                 correction of casting to time. 
- *     David Carver - bug 280547 - fix dates for comparison 
- *     Jesper Steen Moller - bug 262765 - fix type tests
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.*;
-
-import java.util.*;
-
-import javax.xml.datatype.DatatypeConfigurationException;
-import javax.xml.datatype.DatatypeFactory;
-import javax.xml.datatype.Duration;
-import javax.xml.datatype.XMLGregorianCalendar;
-
-/**
- * A representation of the Time datatype
- */
-public class XSTime extends CalendarType implements CmpEq, CmpLt, CmpGt,
-
-MathMinus, MathPlus,
-
-Cloneable {
-
-	private static final String XS_TIME = "xs:time";
-	private Calendar _calendar;
-	private boolean _timezoned;
-	private XSDuration _tz;
-
-	/**
-	 * Initialises to the supplied time and timezone
-	 * 
-	 * @param cal
-	 *            Calendar representation of the time to be stored
-	 * @param tz
-	 *            The timezone (possibly null) associated with this time
-	 */
-	public XSTime(Calendar cal, XSDuration tz) {
-		_calendar = cal;
-
-		_tz = tz;
-		if (tz == null)
-			_timezoned = false;
-		else
-			_timezoned = true;
-	}
-
-	/**
-	 * Initialises to the current time
-	 */
-	public XSTime() {
-		this(new GregorianCalendar(TimeZone.getTimeZone("GMT")), null);
-	}
-
-	/**
-	 * Creates a new copy of the time (and timezone) stored
-	 * 
-	 * @return New XSTime representing the copy of the time and timezone
-	 * @throws CloneNotSupportedException
-	 */
-	@Override
-	public Object clone() throws CloneNotSupportedException {
-		Calendar c = (Calendar) calendar().clone();
-		XSDuration t = tz();
-
-		if (t != null)
-			t = (XSDuration) t.clone();
-
-		return new XSTime(c, t);
-	}
-
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "time" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "time";
-	}
-
-	/**
-	 * Creates a new XSTime representing the String represented supplied time
-	 * 
-	 * @param str
-	 *            String represented time and timezone to be stored
-	 * @return New XSTime representing the supplied time
-	 */
-	public static CalendarType parse_time(String str) {
-
-		String startdate = "1983-11-29T";
-		
-		XSDateTime dt = XSDateTime.parseDateTime(startdate + str);
-		if (dt == null)
-			return null;
-
-		return new XSTime(dt.calendar(), dt.tz());
-	}
-
-	/**
-	 * Creates a new ResultSequence consisting of the extractable time from the
-	 * supplied ResultSequence
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which to extract the time
-	 * @return New ResultSequence consisting of the supplied time
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		AnyAtomicType aat = (AnyAtomicType) arg.first();
-		if (!isCastable(aat)) {
-			throw DynamicError.invalidType();
-		}
-
-		
-		CalendarType t = castTime(aat);
-
-		if (t == null)
-			throw DynamicError.cant_cast(null);
-
-		rs.add(t);
-
-		return rs;
-	} 
-
-	private boolean isCastable(AnyAtomicType aat) {
-		if (aat instanceof XSString || aat instanceof XSUntypedAtomic) {
-			return true;
-		}
-		
-		if (aat instanceof XSDateTime) {
-			return true;
-		}
-		
-		if (aat instanceof XSTime) {
-			return true;
-		}
-		return false;
-	}
-	
-	private CalendarType castTime(AnyAtomicType aat) {
-		if (aat instanceof XSTime) {
-			XSTime time = (XSTime) aat;
-			return new XSTime(time.calendar(), time.tz());
-		}
-		if (aat instanceof XSDateTime) {
-			XSDateTime dateTime = (XSDateTime) aat;
-			return new XSTime(dateTime.calendar(), dateTime.tz());
-		}
-		
-		return parse_time(aat.string_value());
-	}
-	/**
-	 * Retrieves the hour stored as an integer
-	 * 
-	 * @return The hour stored
-	 */
-	public int hour() {
-		return _calendar.get(Calendar.HOUR_OF_DAY);
-	}
-
-	/**
-	 * Retrieves the minute stored as an integer
-	 * 
-	 * @return The minute stored
-	 */
-	public int minute() {
-		return _calendar.get(Calendar.MINUTE);
-	}
-
-	/**
-	 * Retrieves the seconds stored as an integer
-	 * 
-	 * @return The second stored
-	 */
-	public double second() {
-		double s = _calendar.get(Calendar.SECOND);
-
-		double ms = _calendar.get(Calendar.MILLISECOND);
-
-		ms /= 1000;
-
-		s += ms;
-		return s;
-	}
-
-	/**
-	 * Check for whether the time stored has a timezone associated with it
-	 * 
-	 * @return True if the time has a timezone associated. False otherwise
-	 */
-	public boolean timezoned() {
-		return _timezoned;
-	}
-
-	/**
-	 * Retrieves a String representation of the time stored
-	 * 
-	 * @return String representation of the time stored
-	 */
-	@Override
-	public String string_value() {
-		String ret = "";
-		
-		Calendar adjustFortimezone = calendar();
-		ret += XSDateTime.pad_int(adjustFortimezone.get(Calendar.HOUR_OF_DAY), 2);
-		
-		ret += ":";
-		ret += XSDateTime.pad_int(adjustFortimezone.get(Calendar.MINUTE), 2);
-		
-
-		ret += ":";
-		int isecond = (int) second();
-		double sec = second();
-
-		if ((sec - (isecond)) == 0.0)
-			ret += XSDateTime.pad_int(isecond, 2);
-		else {
-			if (sec < 10.0)
-				ret += "0" + sec;
-			else
-				ret += sec;
-		}
-
-		if (timezoned()) {
-			int hrs = _tz.hours();
-			int min = _tz.minutes();
-			double secs = _tz.seconds();
-			if (hrs == 0 && min == 0 && secs == 0) {
-			  ret += "Z";
-			}
-			else {
-			  String tZoneStr = "";
-			  if (_tz.negative()) {
-				tZoneStr += "-";  
-			  }
-			  else {
-				tZoneStr += "+"; 
-			  }
-			  tZoneStr += XSDateTime.pad_int(hrs, 2);  
-			  tZoneStr += ":";
-			  tZoneStr += XSDateTime.pad_int(min, 2);
-			  
-			  ret += tZoneStr;
-			}
-		}
-
-		return ret;
-	}
-
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:time" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_TIME;
-	}
-
-	/**
-	 * Retrieves a Calendar representation of time stored
-	 * 
-	 * @return Calendar representation of the time stored
-	 */
-	public Calendar calendar() {
-		return _calendar;
-	}
-
-	/**
-	 * Retrieves the timezone associated with the time stored as a duration of
-	 * time
-	 * 
-	 * @return The duration of time between the time stored and the actual time
-	 *         after the timezone is taken into account
-	 */
-	public XSDuration tz() {
-		return _tz;
-	}
-
-	/**
-	 * Retrieves the time in milliseconds since the epoch
-	 * 
-	 * @return time stored in milliseconds since the epoch
-	 */
-	public double value() {
-		return calendar().getTimeInMillis() / 1000.0;
-	}
-
-	/**
-	 * Equality comparison between this and the supplied XSTime representation
-	 * 
-	 * @param arg
-	 *            The XSTime to compare with
-	 * @return True if both XSTime's represent the same time. False otherwise
-	 * @throws DynamicError
-	 */
-	public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
-		XSTime val = (XSTime) NumericType.get_single_type(arg, XSTime.class);
-		Calendar thiscal = normalizeCalendar(calendar(), tz());
-		Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-
-		return thiscal.equals(thatcal);
-	}
-
-	/**
-	 * Comparison between this and the supplied XSTime representation
-	 * 
-	 * @param arg
-	 *            The XSTime to compare with
-	 * @return True if the supplied time represnts a point in time after that
-	 *         represented by the time stored. False otherwise
-	 */
-	public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
-		XSTime val = (XSTime) NumericType.get_single_type(arg, XSTime.class);
-		Calendar thiscal = normalizeCalendar(calendar(), tz());
-		Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-		return thiscal.before(thatcal);
-	}
-	
-	/**
-	 * Comparison between this and the supplied XSTime representation
-	 * 
-	 * @param arg
-	 *            The XSTime to compare with
-	 * @return True if the supplied time represnts a point in time before that
-	 *         represented by the time stored. False otherwise
-	 * @throws DynamicError
-	 */
-	public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
-		XSTime val = (XSTime) NumericType.get_single_type(arg, XSTime.class);
-		Calendar thiscal = normalizeCalendar(calendar(), tz());
-		Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-
-		return thiscal.after(thatcal);
-	}
-
-	/**
-	 * Mathematical subtraction between this time stored and the supplied
-	 * representation. This supplied representation must be of either type
-	 * XSTime (in which case the result is the duration of time between these
-	 * two times) or a XSDayTimeDuration (in which case the result is the time
-	 * when this duration is subtracted from the time stored).
-	 * 
-	 * @param arg
-	 *            The representation to subtract (either XSTim or
-	 *            XDTDayTimeDuration)
-	 * @return A ResultSequence representing the result of the subtraction
-	 */
-	public ResultSequence minus(ResultSequence arg) throws DynamicError {
-		if (arg.size() != 1)
-			DynamicError.throw_type_error();
-
-		AnyType at = arg.first();
-		
-		if (!(at instanceof XSTime) && !(at instanceof XSDayTimeDuration)) {
-			throw DynamicError.throw_type_error();
-		}
-
-		if (at instanceof XSTime) {
-			return minusXSTimeDuration(at);
-		}
-		
-		if (at instanceof XSDayTimeDuration) {
-			return minusXSDayTimeDuration(at);
-		}
-		return null; // unreach
-	}
-
-	private ResultSequence minusXSDayTimeDuration(AnyType at) {
-		XSDuration val = (XSDuration) at;
-
-		XSTime res = null;
-		try {
-			res = (XSTime) clone();
-		} catch (CloneNotSupportedException err) {
-			return null;
-		}
-
-		try {
-			XMLGregorianCalendar xmlCal = DatatypeFactory.newInstance().newXMLGregorianCalendar((GregorianCalendar)calendar());
-			Duration dtduration = DatatypeFactory.newInstance().newDuration(val.string_value());
-			xmlCal.add(dtduration.negate());
-			res = new XSTime(xmlCal.toGregorianCalendar(), res.tz());
-		} catch (DatatypeConfigurationException ex) {
-			
-		}
-
-		return ResultSequenceFactory.create_new(res);
-	}
-
-	private ResultSequence minusXSTimeDuration(AnyType at) {
-		XSTime val = (XSTime) at;
-		Duration dtduration = null;
-		try {
-			Calendar thisCal = normalizeCalendar(calendar(), tz());
-			Calendar thatCal = normalizeCalendar(val.calendar(), val.tz());
-			long duration = thisCal.getTimeInMillis() - thatCal.getTimeInMillis();
-			dtduration = DatatypeFactory.newInstance().newDuration(duration);
-			return ResultSequenceFactory.create_new(XSDayTimeDuration.parseDTDuration(dtduration.toString()));
-		} catch (DatatypeConfigurationException ex) {
-			return null;
-		}
-	}
-
-	/**
-	 * Mathematical addition between this time stored and the supplied time
-	 * duration.
-	 * 
-	 * @param arg
-	 *            A XDTDayTimeDuration representation of the duration of time to
-	 *            add
-	 * @return A XSTime representing the result of this addition.
-	 * @throws DynamicError
-	 */
-	public ResultSequence plus(ResultSequence arg) throws DynamicError {
-		XSDuration val = (XSDuration) NumericType
-				.get_single_type(arg, XSDayTimeDuration.class);
-
-		try {
-			double ms = val.time_value() * 1000.0;
-
-			XSTime res = (XSTime) clone();
-
-			res.calendar().add(Calendar.MILLISECOND, (int) ms);
-
-			return ResultSequenceFactory.create_new(res);
-		} catch (CloneNotSupportedException err) {
-			assert false;
-			return null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedByte.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedByte.java
deleted file mode 100644
index 12b9a5e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedByte.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Mukul Gandhi - bug 277650 - Initial API and implementation, of xs:unsignedByte
- *                                 data type.
- *     David Carver (STAR) - bug 262765 - fixed abs value tests.
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.math.BigInteger;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-public class XSUnsignedByte extends XSUnsignedShort {
-	
-	private static final String XS_UNSIGNED_BYTE = "xs:unsignedByte";
-
-	/**
-	 * Initializes a representation of 0
-	 */
-	public XSUnsignedByte() {
-	  this(BigInteger.valueOf(0));
-	}
-	
-	/**
-	 * Initializes a representation of the supplied unsignedByte value
-	 * 
-	 * @param x
-	 *            unsignedByte to be stored
-	 */
-	public XSUnsignedByte(BigInteger x) {
-		super(x);
-	}
-	
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:unsignedByte" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_UNSIGNED_BYTE;
-	}
-	
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "unsignedByte" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "unsignedByte";
-	}
-	
-	/**
-	 * Creates a new ResultSequence consisting of the extractable unsignedByte
-	 * in the supplied ResultSequence
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which the unsignedByte is to be extracted
-	 * @return New ResultSequence consisting of the 'unsignedByte' supplied
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		// the function conversion rules apply here too. Get the argument
-		// and convert it's string value to a unsignedByte.
-		AnyType aat = arg.first();
-
-		try {
-			BigInteger bigInt = new BigInteger(aat.string_value());
-			
-			// doing the range checking
-			// min value is 0
-			// max value is 255
-			BigInteger min = BigInteger.valueOf(0);
-			BigInteger max = BigInteger.valueOf(255L);
-
-			if (bigInt.compareTo(min) < 0 || bigInt.compareTo(max) > 0) {
-			   // invalid input
-			   throw DynamicError.cant_cast(null);	
-			}
-			
-			rs.add(new XSUnsignedByte(bigInt));
-			
-			return rs;
-		} catch (NumberFormatException e) {
-			throw DynamicError.cant_cast(null);
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedInt.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedInt.java
deleted file mode 100644
index 122a6ff..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedInt.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Mukul Gandhi - bug 277642 - Initial API and implementation, of xs:unsignedInt
- *                                 data type.
- *     David Carver (STAR) - bug 262765 - fixed abs value tests.
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.math.BigInteger;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-public class XSUnsignedInt extends XSUnsignedLong {
-	
-	private static final String XS_UNSIGNED_INT = "xs:unsignedInt";
-
-	/**
-	 * Initializes a representation of 0
-	 */
-	public XSUnsignedInt() {
-	  this(BigInteger.valueOf(0));
-	}
-	
-	/**
-	 * Initializes a representation of the supplied unsignedInt value
-	 * 
-	 * @param x
-	 *            unsignedInt to be stored
-	 */
-	public XSUnsignedInt(BigInteger x) {
-		super(x);
-	}
-	
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:unsignedInt" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_UNSIGNED_INT;
-	}
-	
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "unsignedInt" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "unsignedInt";
-	}
-	
-	/**
-	 * Creates a new ResultSequence consisting of the extractable unsignedInt
-	 * in the supplied ResultSequence
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which the unsignedInt is to be extracted
-	 * @return New ResultSequence consisting of the 'unsignedInt' supplied
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		// the function conversion rules apply here too. Get the argument
-		// and convert it's string value to a unsignedInt.
-		AnyType aat = arg.first();
-
-		try {
-			BigInteger bigInt = new BigInteger(aat.string_value());
-			
-			// doing the range checking
-			// min value is 0
-			// max value is 4294967295
-			BigInteger min = BigInteger.valueOf(0);
-			BigInteger max = BigInteger.valueOf(4294967295L);
-
-			if (bigInt.compareTo(min) < 0 || bigInt.compareTo(max) > 0) {
-			   // invalid input
-			   throw DynamicError.cant_cast(null);	
-			}
-			
-			rs.add(new XSUnsignedInt(bigInt));
-			
-			return rs;
-		} catch (NumberFormatException e) {
-			throw DynamicError.cant_cast(null);
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedLong.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedLong.java
deleted file mode 100644
index ac67028..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedLong.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Mukul Gandhi - bug 277629 - Initial API and implementation, of xs:unsignedLong
- *                                 data type.
- *     David Carver (STAR) - bug 262765 - fixed abs value tests.
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.math.BigInteger;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-public class XSUnsignedLong extends XSNonNegativeInteger {
-	
-	private static final String XS_UNSIGNED_LONG = "xs:unsignedLong";
-
-	/**
-	 * Initializes a representation of 0
-	 */
-	public XSUnsignedLong() {
-	  this(BigInteger.valueOf(0));
-	}
-	
-	/**
-	 * Initializes a representation of the supplied unsignedLong value
-	 * 
-	 * @param x
-	 *            unsignedLong to be stored
-	 */
-	public XSUnsignedLong(BigInteger x) {
-		super(x);
-	}
-	
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:unsignedLong" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_UNSIGNED_LONG;
-	}
-	
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "unsignedLong" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "unsignedLong";
-	}
-	
-	/**
-	 * Creates a new ResultSequence consisting of the extractable unsignedLong
-	 * in the supplied ResultSequence
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which the unsignedLong is to be extracted
-	 * @return New ResultSequence consisting of the 'unsignedLong' supplied
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		// the function conversion rules apply here too. Get the argument
-		// and convert it's string value to a unsignedLong.
-		AnyType aat = arg.first();
-
-		try {
-			BigInteger bigInt = new BigInteger(aat.string_value());
-			
-			// doing the range checking
-			// min value is 0
-			// max value is 18446744073709551615
-			BigInteger min = BigInteger.valueOf(0);
-			BigInteger max = new BigInteger("18446744073709551615");
-
-			if (bigInt.compareTo(min) < 0 || bigInt.compareTo(max) > 0) {
-			   // invalid input
-			   throw DynamicError.cant_cast(null);	
-			}
-			
-			rs.add(new XSUnsignedLong(bigInt));
-			
-			return rs;
-		} catch (NumberFormatException e) {
-			throw DynamicError.cant_cast(null);
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedShort.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedShort.java
deleted file mode 100644
index 3633e7f..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedShort.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Mukul Gandhi - bug 277645 - Initial API and implementation, of xs:unsignedShort
- *                                 data type.
- *     David Carver (STAR) - bug 262765 - fixed abs value tests.
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.math.BigInteger;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-public class XSUnsignedShort extends XSUnsignedInt {
-	
-	private static final String XS_UNSIGNED_SHORT = "xs:unsignedShort";
-
-	/**
-	 * Initializes a representation of 0
-	 */
-	public XSUnsignedShort() {
-	  this(BigInteger.valueOf(0));
-	}
-	
-	/**
-	 * Initializes a representation of the supplied unsignedShort value
-	 * 
-	 * @param x
-	 *            unsignedShort to be stored
-	 */
-	public XSUnsignedShort(BigInteger x) {
-		super(x);
-	}
-	
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:unsignedShort" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_UNSIGNED_SHORT;
-	}
-	
-	/**
-	 * Retrieves the datatype's name
-	 * 
-	 * @return "unsignedShort" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "unsignedShort";
-	}
-	
-	/**
-	 * Creates a new ResultSequence consisting of the extractable unsignedShort
-	 * in the supplied ResultSequence
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which the unsignedShort is to be extracted
-	 * @return New ResultSequence consisting of the 'unsignedShort' supplied
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		// the function conversion rules apply here too. Get the argument
-		// and convert it's string value to a unsignedShort.
-		AnyType aat = arg.first();
-
-		try {
-			BigInteger bigInt = new BigInteger(aat.string_value());
-			
-			// doing the range checking
-			// min value is 0
-			// max value is 65535
-			BigInteger min = BigInteger.valueOf(0);
-			BigInteger max = BigInteger.valueOf(65535L);
-
-			if (bigInt.compareTo(min) < 0 || bigInt.compareTo(max) > 0) {
-			   // invalid input
-			   throw DynamicError.cant_cast(null);	
-			}
-			
-			rs.add(new XSUnsignedShort(bigInt));
-			
-			return rs;
-		} catch (NumberFormatException e) {
-			throw DynamicError.cant_cast(null);
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUntypedAtomic.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUntypedAtomic.java
deleted file mode 100644
index 95681e3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUntypedAtomic.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     David Carver - bug 262765 - corrected implementation of XSUntypedAtomic 
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-/**
- * A representation of the UntypedAtomic datatype which is used to represent
- * untyped atomic nodes.
- */
-public class XSUntypedAtomic extends CtrType {
-	private static final String XS_UNTYPED_ATOMIC = "xs:untypedAtomic";
-	private String _value;
-
-	
-	public XSUntypedAtomic() {
-		this(null);
-	}
-	
-	/**
-	 * Initialises using the supplied String
-	 * 
-	 * @param x
-	 *            The String representation of the value of the untyped atomic
-	 *            node
-	 */
-	public XSUntypedAtomic(String x) {
-		_value = x;
-	}
-
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:untypedAtomic" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_UNTYPED_ATOMIC;
-	}
-
-	/**
-	 * Retrieves a String representation of the value of this untyped atomic
-	 * node
-	 * 
-	 * @return String representation of the value of this untyped atomic node
-	 */
-	@Override
-	public String string_value() {
-		return _value;
-	}
-
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		AnyAtomicType aat = (AnyAtomicType) arg.first();
-
-		rs.add(new XSUntypedAtomic(aat.string_value()));
-
-		return rs;
-	}
-
-	@Override
-	public String type_name() {
-		return "untypedAtomic";
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSYearMonthDuration.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSYearMonthDuration.java
deleted file mode 100644
index c3329d2..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSYearMonthDuration.java
+++ /dev/null
@@ -1,455 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *     Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- *     Mukul Gandhi - bug 279373 - improvements to multiply operation on xs:yearMonthDuration
- *                                 data type.
- *     David Carver - bug 282223 - implementation of xs:duration data type.
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.math.BigDecimal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.*;
-
-/**
- * A representation of the YearMonthDuration datatype
- */
-public class XSYearMonthDuration extends XSDuration implements CmpEq, CmpLt,
-		CmpGt, MathPlus, MathMinus, MathTimes, MathDiv {
-
-
-	private static final String XS_YEAR_MONTH_DURATION = "xs:yearMonthDuration";
-
-	/**
-	 * Initialises using the supplied parameters. If the number of months
-	 * supplied is more than 12, the number of years is adjusted accordingly.
-	 * 
-	 * @param year
-	 *            Number of years in this duration of time
-	 * @param month
-	 *            Number of months in this duration of time
-	 * @param negative
-	 *            True if this duration of time represents a backwards passage
-	 *            through time. False otherwise
-	 */
-	public XSYearMonthDuration(int year, int month, boolean negative) {
-		super(year, month, 0, 0, 0, 0, negative);
-	}
-
-	/**
-	 * Initialises to the given number of months
-	 * 
-	 * @param months
-	 *            Number of months in the duration of time
-	 */
-	public XSYearMonthDuration(int months) {
-		this(0, Math.abs(months), months < 0);
-	}
-
-	/**
-	 * Initialises to a duration of no time (0years and 0months)
-	 */
-	public XSYearMonthDuration() {
-		this(0, 0, false);
-	}
-
-	/**
-	 * Creates a new XSYearMonthDuration by parsing the supplied String
-	 * represented duration of time
-	 * 
-	 * @param str
-	 *            String represented duration of time
-	 * @return New XSYearMonthDuration representing the duration of time
-	 *         supplied
-	 */
-	public static XSDuration parseYMDuration(String str) {
-		boolean negative = false;
-		int year = 0;
-		int month = 0;
-
-		int state = 0; // 0 beginning
-		// 1 year
-		// 2 month
-		// 3 done
-		// 4 expecting P
-		// 5 expecting Y or M
-		// 6 expecting M or end
-		// 7 expecting end
-
-		String digits = "";
-		for (int i = 0; i < str.length(); i++) {
-			char x = str.charAt(i);
-
-			switch (state) {
-			// beginning
-			case 0:
-				if (x == '-') {
-					negative = true;
-					state = 4;
-				} else if (x == 'P')
-					state = 5;
-				else
-					return null;
-				break;
-
-			case 4:
-				if (x == 'P')
-					state = 5;
-				else
-					return null;
-				break;
-
-			case 5:
-				if ('0' <= x && x <= '9')
-					digits += x;
-				else if (x == 'Y') {
-					if (digits.length() == 0)
-						return null;
-					year = Integer.parseInt(digits);
-					digits = "";
-					state = 6;
-				} else if (x == 'M') {
-					if (digits.length() == 0)
-						return null;
-					month = Integer.parseInt(digits);
-					state = 7;
-				} else
-					return null;
-				break;
-
-			case 6:
-				if ('0' <= x && x <= '9')
-					digits += x;
-				else if (x == 'M') {
-					if (digits.length() == 0)
-						return null;
-					month = Integer.parseInt(digits);
-					state = 7;
-
-				} else
-					return null;
-				break;
-
-			case 7:
-				return null;
-
-			default:
-				assert false;
-				return null;
-
-			}
-		}
-
-		return new XSYearMonthDuration(year, month, negative);
-	}
-
-	/**
-	 * Retrives the datatype's name
-	 * 
-	 * @return "yearMonthDuration" which is the datatype's name
-	 */
-	@Override
-	public String type_name() {
-		return "yearMonthDuration";
-	}
-
-	/**
-	 * Creates a new ResultSequence consisting of the extractable time duration
-	 * from the supplied ResultSequence
-	 * 
-	 * @param arg
-	 *            The ResultSequence from which to extract
-	 * @return New ResultSequence consisting of the time duration extracted
-	 * @throws DynamicError
-	 */
-	@Override
-	public ResultSequence constructor(ResultSequence arg) throws DynamicError {
-		ResultSequence rs = ResultSequenceFactory.create_new();
-
-		if (arg.empty())
-			return rs;
-
-		AnyAtomicType aat = (AnyAtomicType) arg.first();
-		if (aat instanceof NumericType || aat instanceof CalendarType ||
-			aat instanceof XSBoolean || aat instanceof XSBase64Binary ||
-			aat instanceof XSHexBinary || aat instanceof XSAnyURI) {
-			throw DynamicError.invalidType();
-		}
-
-		if (!isCastable(aat)) {
-			throw DynamicError.cant_cast(null);
-		}
-
-		
-		XSDuration ymd = castYearMonthDuration(aat);
-
-		if (ymd == null)
-			throw DynamicError.cant_cast(null);
-
-		rs.add(ymd);
-
-		return rs;
-	}
-	
-	private XSDuration castYearMonthDuration(AnyAtomicType aat) {
-		if (aat instanceof XSDuration) {
-			XSDuration duration = (XSDuration) aat;
-			return new XSYearMonthDuration(duration.year(), duration.month(), duration.negative());
-		}
-		
-		return parseYMDuration(aat.string_value());
-	}
-
-	/**
-	 * Retrieves whether this duration represents a backward passage through
-	 * time
-	 * 
-	 * @return True if this duration represents a backward passage through time.
-	 *         False otherwise
-	 */
-	@Override
-	public boolean negative() {
-		return _negative;
-	}
-
-	/**
-	 * Retrieves a String representation of the duration of time stored
-	 * 
-	 * @return String representation of the duration of time stored
-	 */
-	@Override
-	public String string_value() {
-		String strval = "";
-
-		if (negative())
-			strval += "-";
-
-		strval += "P";
-
-		int years = year();
-		if (years != 0)
-			strval += years + "Y";
-
-		int months = month();
-		if (months == 0) {
-			if (years == 0)
-				strval += months + "M";
-		} else
-			strval += months + "M";
-
-		return strval;
-	}
-
-	/**
-	 * Retrieves the datatype's full pathname
-	 * 
-	 * @return "xs:yearMonthDuration" which is the datatype's full pathname
-	 */
-	@Override
-	public String string_type() {
-		return XS_YEAR_MONTH_DURATION;
-	}
-
-	/**
-	 * Retrieves the duration of time stored as the number of months within it
-	 * 
-	 * @return Number of months making up this duration of time
-	 */
-	public int monthValue() {
-		int ret = year() * 12 + month();
-
-		if (negative())
-			ret *= -1;
-
-		return ret;
-	}
-
-	/**
-	 * Equality comparison between this and the supplied duration of time.
-	 * 
-	 * @param arg
-	 *            The duration of time to compare with
-	 * @return True if they both represent the duration of time. False otherwise
-	 * @throws DynamicError
-	 */
-	@Override
-	public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
-		if (arg instanceof XSDayTimeDuration) {
-			XSDayTimeDuration dayTimeDuration = (XSDayTimeDuration)arg;
-			return (monthValue() == 0 && dayTimeDuration.value() == 0.0);
-		} else if (arg instanceof XSYearMonthDuration) {
-			XSYearMonthDuration yearMonthDuration = (XSYearMonthDuration)arg;
-			return monthValue() == yearMonthDuration.monthValue();
-		}
-		XSDuration val = (XSDuration) NumericType
-				.get_single_type(arg, XSDuration.class);
-		return super.eq(val, context);
-	}
-
-	/**
-	 * Comparison between this and the supplied duration of time.
-	 * 
-	 * @param arg
-	 *            The duration of time to compare with
-	 * @return True if the supplied time represents a larger duration than that
-	 *         stored. False otherwise
-	 * @throws DynamicError
-	 */
-	@Override
-	public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
-		XSYearMonthDuration val = (XSYearMonthDuration) NumericType
-				.get_single_type(arg, XSYearMonthDuration.class);
-
-		return monthValue() < val.monthValue();
-	}
-
-	/**
-	 * Comparison between this and the supplied duration of time.
-	 * 
-	 * @param arg
-	 *            The duration of time to compare with
-	 * @return True if the supplied time represents a smaller duration than that
-	 *         stored. False otherwise
-	 * @throws DynamicError
-	 */
-	@Override
-	public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
-		XSYearMonthDuration val = (XSYearMonthDuration) NumericType
-				.get_single_type(arg, XSYearMonthDuration.class);
-
-		return monthValue() > val.monthValue();
-	}
-
-	/**
-	 * Mathematical addition between this duration stored and the supplied
-	 * duration of time (of type XSYearMonthDuration)
-	 * 
-	 * @param arg
-	 *            The duration of time to add
-	 * @return New XSYearMonthDuration representing the resulting duration
-	 *         after the addition
-	 * @throws DynamicError
-	 */
-	public ResultSequence plus(ResultSequence arg) throws DynamicError {
-		XSYearMonthDuration val = (XSYearMonthDuration) NumericType
-				.get_single_type(arg, XSYearMonthDuration.class);
-
-		int res = monthValue() + val.monthValue();
-
-		return ResultSequenceFactory.create_new(new XSYearMonthDuration(res));
-	}
-
-	/**
-	 * Mathematical subtraction between this duration stored and the supplied
-	 * duration of time (of type XSYearMonthDuration)
-	 * 
-	 * @param arg
-	 *            The duration of time to subtract
-	 * @return New XSYearMonthDuration representing the resulting duration
-	 *         after the subtraction
-	 * @throws DynamicError
-	 */
-	public ResultSequence minus(ResultSequence arg) throws DynamicError {
-		XSYearMonthDuration val = (XSYearMonthDuration) NumericType
-				.get_single_type(arg, XSYearMonthDuration.class);
-
-		int res = monthValue() - val.monthValue();
-
-		return ResultSequenceFactory.create_new(new XSYearMonthDuration(res));
-	}
-
-	/**
-	 * Mathematical multiplication between this duration stored and the supplied
-	 * duration of time (of type XSYearMonthDuration)
-	 * 
-	 * @param arg
-	 *            The duration of time to multiply by
-	 * @return New XSYearMonthDuration representing the resulting duration
-	 *         after the multiplication
-	 * @throws DynamicError
-	 */
-	public ResultSequence times(ResultSequence arg) throws DynamicError {
-		ResultSequence convertedRS = arg;		
-		if (arg.size() == 1) {
-			AnyType argValue = arg.first();
-            if (argValue instanceof XSDecimal) {
-            	convertedRS = ResultSequenceFactory.create_new(new XSDouble(argValue.string_value()));	
-            }
-		}
-		
-		XSDouble val = (XSDouble) NumericType.get_single_type(convertedRS,
-				XSDouble.class);
-
-		if (val.nan()) {
-			throw DynamicError.nan();
-		}
-		
-		if (val.infinite()) {
-			throw DynamicError.overflowDateTime();
-		}
-		
-		int res = (int) Math.round(monthValue() * val.double_value());
-
-		return ResultSequenceFactory.create_new(new XSYearMonthDuration(res));
-	}
-
-	/**
-	 * Mathematical division between this duration stored and the supplied
-	 * duration of time (of type XSYearMonthDuration)
-	 * 
-	 * @param arg
-	 *            The duration of time to divide by
-	 * @return New XSYearMonthDuration representing the resulting duration
-	 *         after the division
-	 * @throws DynamicError
-	 */
-	public ResultSequence div(ResultSequence arg) throws DynamicError {
-		if (arg.size() != 1)
-			DynamicError.throw_type_error();
-
-		AnyType at = arg.first();
-
-		if (at instanceof XSDouble) {
-			XSDouble dt = (XSDouble) at;
-
-			int ret = 0;
-
-			if (!dt.zero())
-				ret = (int) Math.round(monthValue() / dt.double_value());
-
-			return ResultSequenceFactory.create_new(new XSYearMonthDuration(
-					ret));
-		} else if (at instanceof XSDecimal) {
-			XSDecimal dt = (XSDecimal) at;
-			
-			int ret = 0;
-			
-			if (!dt.zero())
-				ret = (int) Math.round(monthValue() / dt.getValue().doubleValue());
-			
-			return ResultSequenceFactory.create_new(new XSYearMonthDuration(
-					ret));	
-		} else if (at instanceof XSYearMonthDuration) {
-			XSYearMonthDuration md = (XSYearMonthDuration) at;
-
-			double res = (double) monthValue() / md.monthValue();
-
-			return ResultSequenceFactory.create_new(new XSDecimal(BigDecimal.valueOf(res)));
-		} else {
-			DynamicError.throw_type_error();
-			return null; // unreach
-		}
-	}	
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/userdefined/UserDefinedCtrLibrary.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/userdefined/UserDefinedCtrLibrary.java
deleted file mode 100644
index 9c8065f..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/userdefined/UserDefinedCtrLibrary.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver (STAR) - initial API and implementation 
- *******************************************************************************/
-package org.eclipse.wst.xml.xpath2.processor.internal.types.userdefined;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.function.ConstructorFL;
-
-public class UserDefinedCtrLibrary extends ConstructorFL {
-
-	public UserDefinedCtrLibrary(String ns) {
-		super(ns);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/CodePointIterator.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/CodePointIterator.java
deleted file mode 100644
index 20cce88..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/CodePointIterator.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Jesper Steen Moeller and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Jesper Steen Moeller - bug 282096 - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.utils;
-
-public interface CodePointIterator extends Cloneable
-{
-    /**
-     * Sentinel value returned from iterator when the end is reached.
-     * The value is -1 which will never be a valid codepoint.
-     */
-    public static final int DONE = -1;
-
-    /**
-     * Resets the position to 0 and returns the first code point.
-     * @return the first code point in the text, or DONE if the text is empty
-     */
-    public int first();
-
-    /**
-     * Sets the position to the last possible position (or 0 if the text is empty)
-     * and returns the code point at that position.
-     * @return the last code point in the text, or DONE if the text is empty
-     * @see #getEndIndex()
-     */
-    public int last();
-
-    /**
-     * Gets the code point at the current position (as returned by getIndex()).
-     * @return the code point at the current position or DONE if the current
-     * position is off the end of the text.
-     * @see #getIndex()
-     */
-    public int current();
-
-    /**
-     * Increments the iterator's code point index by one and returns the code point
-     * at the new index.  If the resulting index is at the end of the string, the
-     * index is not incremented, and DONE is returned.
-     * @return the code point at the new position or DONE if the new
-     * position is after the text range.
-     */
-    public int next();
-
-    /**
-     * Decrements the iterator's index by one and returns the character
-     * at the new index. If the current index is 0, the index
-     * remains at 0 and a value of DONE is returned.
-     *
-     * @return the code point at the new position (or DONE if the current
-     * position is 0)
-     */
-    public int previous();
-
-    /**
-     * Returns the current index (as a codepoint, not a string index).
-     * @return the current index.
-     */
-    public int getIndex();
-
-    /**
-     * Create a copy of this code point iterator
-     * @return A copy of this
-     */
-    public Object clone();
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/ComparableTypePromoter.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/ComparableTypePromoter.java
deleted file mode 100644
index 9373484..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/ComparableTypePromoter.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Jesper Steen Moller, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Jesper Steen Moller - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.utils;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSTime;
-
-public class ComparableTypePromoter extends ScalarTypePromoter {
-
-	@Override
-	protected boolean checkCombination(Class<? extends AnyAtomicType> newType) {
-
-		Class<? extends AnyAtomicType> targetType = getTargetType();
-		if (newType == XSString.class || newType == XSTime.class || targetType == XSString.class || targetType == XSTime.class) {
-			return targetType == newType;	
-		}
-		if (newType == XSDate.class && targetType == XSDateTime.class) return true; // leave alone
-		if (newType == XSDateTime.class && targetType != XSDateTime.class) {
-			if (targetType == XSDate.class) {
-				setTargetType(XSDateTime.class);
-			} else return false;
-		}
-
-		return super.checkCombination(newType);
-	}
-
-	@Override
-	protected Class<? extends AnyAtomicType> substitute(Class<? extends AnyAtomicType> typeToConsider) {
-		if (typeToConsider == XSAnyURI.class || typeToConsider == XSString.class) {
-			return XSString.class;
-		}
-		if (typeToConsider == XSDateTime.class || typeToConsider == XSDate.class || typeToConsider == XSTime.class) {
-			return typeToConsider;
-		}
-
-		return super.substitute(typeToConsider);
-	}
-	
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/LiteralUtils.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/LiteralUtils.java
deleted file mode 100644
index d1f75d8..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/LiteralUtils.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Jesper Steen M�ller and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     Jesper Steen Moller - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.utils;
-
-/**
- * String literal utilities
- * 
- *
- */
-public class LiteralUtils {
-	
-	/**
-	 * Unquotes a quoted string, changing double quotes into single quotes as well.
-     * Examples (string delimited by > and <):
-     *  >"A"< becomes >A< 
-     *  >'B'< becomes >B< 
-	 *  >"A""B"< becomes >A"B<
-	 *  >"A""B"< becomes >A"B<
-	 *  >'A''''B'< becomes >A''B<
-	 *  >"A''''B"< becomes >A''''B<
-	 * @param quotedString A quoted string possibly containing escaped quotes
-	 * @return unquoted and unescaped string
-	 */
-	public static String unquote(String quotedString) {
-		int inputLength = quotedString.length();
-		char quoteChar = quotedString.charAt(0);
-		if (quotedString.indexOf(quoteChar, 1) == inputLength-1) {
-			// The trivial case where there's no quotes in the middle of the string.
-			return quotedString.substring(1, inputLength-1);
-		}
-		
-		StringBuilder sb = new StringBuilder();
-		for (int i = 1; i < inputLength-1; ++i) {
-			char ch = quotedString.charAt(i);
-			sb.append(ch);
-			if (ch == quoteChar) ++i; // Skip past second quote char (ensured by the lexer)
-		}
-		return sb.toString();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/NumericTypePromoter.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/NumericTypePromoter.java
deleted file mode 100644
index 14248e8..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/NumericTypePromoter.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Jesper Steen Moller, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Jesper Steen Moller - initial API and implementation
- *     Jesper Steen Moller - bug 281028 - avg/min/max/sum work
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.utils;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSUntypedAtomic;
-
-public class NumericTypePromoter extends TypePromoter {
-
-	@Override
-	protected boolean checkCombination(Class<? extends AnyAtomicType> newType) {
-		// Note: Double or float will override everything
-		if (newType == XSDouble.class || getTargetType() == XSDouble.class) {
-			setTargetType(XSDouble.class);
-		} else if (newType == XSFloat.class || getTargetType() == XSFloat.class) {
-			setTargetType(XSFloat.class);
-		// If we're still with integers, stick with it
-		} else if (newType == XSInteger.class && getTargetType() == XSInteger.class) {
-			setTargetType(XSInteger.class);
-		} else {
-			// Otherwise, switch to decimals
-			setTargetType(XSDecimal.class);
-		}
-		return true;
-	}
-
-	@Override
-	public AnyAtomicType doPromote(AnyAtomicType value) throws DynamicError {
-		if (getTargetType() == XSFloat.class) {
-			return new XSFloat(value.string_value());
-		} else if (getTargetType() == XSDouble.class) {
-			return new XSDouble(value.string_value());
-		} else if (getTargetType() == XSInteger.class) {
-			return new XSInteger(value.string_value());
-		} else if (getTargetType() == XSDecimal.class) {
-			return new XSDecimal(value.string_value());
-		}
-		return null;
-	}
-
-	@Override
-	protected Class<? extends AnyAtomicType> substitute(Class<? extends AnyAtomicType> typeToConsider) {
-		if (typeToConsider == XSUntypedAtomic.class) return XSDouble.class;
-		if (isDerivedFrom(typeToConsider, XSFloat.class)) return XSFloat.class;
-		if (isDerivedFrom(typeToConsider, XSDouble.class)) return XSDouble.class;
-		if (isDerivedFrom(typeToConsider, XSInteger.class)) return XSInteger.class;
-		if (isDerivedFrom(typeToConsider, XSDecimal.class)) return XSDecimal.class;
-		return null;
-	}
-
-	private boolean isDerivedFrom(Class<? extends AnyType> typeToConsider, Class<? extends AnyType> superType) {
-		return superType.isAssignableFrom(typeToConsider);
-	}
-	
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/ScalarTypePromoter.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/ScalarTypePromoter.java
deleted file mode 100644
index 5177d81..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/ScalarTypePromoter.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Jesper Steen Moller, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Jesper Steen Moller - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.utils;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDayTimeDuration;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSYearMonthDuration;
-
-public class ScalarTypePromoter extends NumericTypePromoter {
-
-	@Override
-	protected boolean checkCombination(Class<? extends AnyAtomicType> newType) {
-
-		Class<? extends AnyAtomicType> targetType = getTargetType();
-		if (targetType == XSDayTimeDuration.class || targetType == XSYearMonthDuration.class) {
-			return targetType == newType;	
-		}
-		return super.checkCombination(newType);
-	}
-
-	@Override
-	protected Class<? extends AnyAtomicType> substitute(Class<? extends AnyAtomicType> typeToConsider) {
-		if (typeToConsider == XSDayTimeDuration.class || typeToConsider == XSYearMonthDuration.class) {
-			return typeToConsider;
-		}
-
-		return super.substitute(typeToConsider);
-	}
-	
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/StringCodePointIterator.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/StringCodePointIterator.java
deleted file mode 100644
index b409b3b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/StringCodePointIterator.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Jesper Steen Moeller and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Jesper Steen Moeller - bug 282096 - initial API and implementation
- *******************************************************************************/
- 
-package org.eclipse.wst.xml.xpath2.processor.internal.utils;
-
-public final class StringCodePointIterator implements CodePointIterator
-{
-    private String text;
-    private int end;
-    // invariant: 0 <= pos <= end
-    private int pos;
-	private int cpPos;
-
-    /**
-     * Constructs an iterator with an initial index of 0.
-     */
-    public StringCodePointIterator(String text)
-    {
-        if (text == null)
-            throw new NullPointerException();
-        
-        this.text = text;
-        this.end = text.length();
-        if (end > 0 && Character.isHighSurrogate(text.charAt(end-1)))
-            throw new IllegalArgumentException("Invalid UTF-16 sequence ending with a high surrogate");
-       
-        this.pos = 0;
-        this.cpPos = 0;
-    }
-
-    /**
-     * Reset this iterator to point to a new string.  This package-visible
-     * method is used by other java.text classes that want to avoid allocating
-     * new StringCodePointIterator objects every time their setText method
-     * is called.
-     *
-     * @param  text   The String to be iterated over
-     * @since 1.2
-     */
-    public void setText(String text) {
-        if (text == null)
-            throw new NullPointerException();
-        this.text = text;
-        this.end = text.length();
-        this.pos = 0;
-        this.cpPos = 0;
-    }
-
-    /**
-     * Implements CodePointIterator.first() for String.
-     * @see CodePointIterator#first
-     */
-    public int first()
-    {
-        pos = 0;
-        cpPos = 0;
-        return current();
-    }
-
-    /**
-     * Implements CodePointIterator.last() for String.
-     * @see CodePointIterator#last
-     */
-    public int last()
-    {
-        pos = end;
-        cpPos = Character.codePointCount(text, 0, pos);
-        return previous();
-     }
-
-    /**
-     * Implements CodePointIterator.current() for String.
-     * @see CodePointIterator#current
-     */
-    public int current()
-    {
-        if (pos < end) {
-            char ch1 =  text.charAt(pos);
-            if (Character.isHighSurrogate(ch1)) return Character.toCodePoint(ch1, text.charAt(pos+1));
-            return ch1;
-        }
-        else {
-            return DONE;
-        }
-    }
-
-    /**
-     * Implements CodePointIterator.next() for String.
-     * @see CodePointIterator#next
-     */
-    public int next()
-    {
-        if (pos < end - 1) {
-            pos++;
-            if (Character.isLowSurrogate(text.charAt(pos))) pos++;
-            cpPos++;
-            return current();
-        }
-        else {
-        	pos = end;
-            return DONE;
-        }
-    }
-
-    /**
-     * Implements CodePointIterator.previous() for String.
-     * @see CodePointIterator#previous
-     */
-    public int previous()
-    {
-        if (pos > 0) {
-            pos--;
-            if (Character.isLowSurrogate(text.charAt(pos))) pos--; 
-            cpPos--;
-            return current();
-        }
-        else {
-            return DONE;
-        }
-    }
-
-    /**
-     * Implements CodePointIterator.getIndex() for String.
-     * @see CodePointIterator#getIndex
-     */
-    public int getIndex()
-    {
-        return cpPos;
-    }
-
-    /**
-     * Compares the equality of two StringCodePointIterator objects.
-     * @param obj the StringCodePointIterator object to be compared with.
-     * @return true if the given obj is the same as this
-     * StringCodePointIterator object; false otherwise.
-     */
-    @Override
-	public boolean equals(Object obj)
-    {
-        if (this == obj)
-            return true;
-        if (!(obj instanceof StringCodePointIterator))
-            return false;
-
-        StringCodePointIterator that = (StringCodePointIterator) obj;
-
-        if (hashCode() != that.hashCode())
-            return false;
-        if (!text.equals(that.text))
-            return false;
-        if (pos != that.pos || end != that.end)
-            return false;
-        return true;
-    }
-
-    /**
-     * Computes a hashcode for this iterator.
-     * @return A hash code
-     */
-    @Override
-	public int hashCode()
-    {
-        return text.hashCode() ^ pos ^ end;
-    }
-
-    /**
-     * Creates a copy of this iterator.
-     * @return A copy of this
-     */
-    @Override
-	public Object clone()
-    {
-        try {
-            StringCodePointIterator other
-            = (StringCodePointIterator) super.clone();
-            return other;
-        }
-        catch (CloneNotSupportedException e) {
-            throw new InternalError();
-        }
-    }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/TypePromoter.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/TypePromoter.java
deleted file mode 100644
index 01d743a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/TypePromoter.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Jesper Steen Moller, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Jesper Steen Moller - initial API and implementation
- *     Jesper Steen Moller - bug 281028 - avg/min/max/sum work
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.utils;
-
-import java.util.Collection;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-
-/**
- * Generic type promoter for handling subtype substitution and type promotions for functions and operators.
- */
-public abstract class TypePromoter {
-	private Class<? extends AnyAtomicType> targetType = null;
-
-	abstract public AnyAtomicType doPromote(AnyAtomicType value) throws DynamicError;	
-
-	public final AnyAtomicType promote(AnyType value) throws DynamicError {
-		// This is a short cut, really
-		if (value.getClass() == getTargetType()) return (AnyAtomicType)value;
-
-		return doPromote(atomize(value));
-	}
-
-	/**
-	 * @param typeToConsider The 
-	 * @return The supertype to treat it as (i.e. if a xs:nonNegativeInteger is treated as xs:number)
-	 */
-	abstract protected Class<? extends AnyAtomicType> substitute(Class<? extends AnyAtomicType> typeToConsider);	
-
-	abstract protected boolean checkCombination(Class<? extends AnyAtomicType> newType);
-		
-	public void considerType(Class<? extends AnyAtomicType> typeToConsider) throws DynamicError {
-		Class<? extends AnyAtomicType> baseType = substitute(typeToConsider);
-		
-		if (baseType == null) {
-			throw DynamicError.argument_type_error(typeToConsider);
-		}
-		
-		if (targetType == null) {
-			targetType = baseType;
-		} else {
-			if (! checkCombination(baseType)) {
-				throw DynamicError.argument_type_error(typeToConsider);
-			}
-		}
-	}
-	
-	public void considerTypes(Collection<Class<? extends AnyAtomicType>> typesToConsider) throws DynamicError {
-		for (Class<? extends AnyAtomicType> type : typesToConsider) {
-			considerType(type);
-		}
-	}
-	
-	public void considerSequence(ResultSequence sequenceToConsider) throws DynamicError {
-		for (int i = 0; i < sequenceToConsider.size(); ++i) {
-			AnyType item = sequenceToConsider.get(i);
-			considerValue(item);
-		}
-	}
-	
-	public Class<? extends AnyAtomicType> getTargetType() {
-		return targetType;
-	}
-	
-	protected void setTargetType(Class<? extends AnyAtomicType> class1) {
-		this.targetType = class1;
-	}
-
-	public AnyAtomicType atomize(AnyType at) {
-		if (at instanceof NodeType) {
-			return (AnyAtomicType)((NodeType)at).typed_value().first();
-		}
-		else {
-			return (AnyAtomicType)at;
-		}
-	}
-	
-	public void considerValue(AnyType at) throws DynamicError {
-		considerType(atomize(at).getClass());
-	}
-
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/sym.java b/bundles/org.eclipse.wst.xml.xpath2.processor/sym.java
deleted file mode 100644
index 25ba86f..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/sym.java
+++ /dev/null
@@ -1,100 +0,0 @@
-
-//----------------------------------------------------
-// The following code was generated by CUP v0.10k
-// Fri Jul 03 06:19:28 GMT 2009
-//----------------------------------------------------
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-/** CUP generated class containing symbol constants. */
-public class sym {
-  /* terminals */
-  public static final int DESCENDANT_OR_SELF = 32;
-  public static final int AS = 56;
-  public static final int GT = 45;
-  public static final int FOLLOWING = 34;
-  public static final int FORWARD_SLASHSLASH = 19;
-  public static final int PARENT = 36;
-  public static final int GE = 46;
-  public static final int DOCUMENT_NODE = 75;
-  public static final int NAMESPACE = 35;
-  public static final int FORWARD_SLASH = 18;
-  public static final int TREAT = 55;
-  public static final int NODE = 74;
-  public static final int COMMA = 24;
-  public static final int ANCESTOR = 37;
-  public static final int LT = 43;
-  public static final int INTEGER = 82;
-  public static final int DOUBLE = 83;
-  public static final int CHILD = 28;
-  public static final int FOLLOWING_SIBLING = 33;
-  public static final int EVERY = 66;
-  public static final int SELF = 31;
-  public static final int LE = 44;
-  public static final int ELEMENT = 80;
-  public static final int TEXT = 76;
-  public static final int INSTANCE = 53;
-  public static final int NOTEQUALS = 11;
-  public static final int THEN = 68;
-  public static final int SCHEMA_ELEMENT = 81;
-  public static final int SCHEMA_ATTRIBUTE = 79;
-  public static final int ANCESTOR_OR_SELF = 40;
-  public static final int EQ = 41;
-  public static final int PRECEDING = 39;
-  public static final int EMPTY = 72;
-  public static final int MOD = 49;
-  public static final int AT_SYM = 21;
-  public static final int DOLLAR = 25;
-  public static final int EXCEPT = 52;
-  public static final int LESSTHAN = 12;
-  public static final int PIPE = 9;
-  public static final int LESSEQUAL = 13;
-  public static final int QUESTIONMARK = 27;
-  public static final int PLUS = 6;
-  public static final int IDIV = 48;
-  public static final int LPAR = 4;
-  public static final int UNION = 50;
-  public static final int GREATEREQUAL = 15;
-  public static final int DECIMAL = 84;
-  public static final int FOR = 60;
-  public static final int STAR = 8;
-  public static final int GREATER = 14;
-  public static final int PRECEDING_SIBLING = 38;
-  public static final int DIV = 47;
-  public static final int RETURN = 62;
-  public static final int ELSE = 69;
-  public static final int DOTDOT = 22;
-  public static final int DOT = 26;
-  public static final int EOF = 0;
-  public static final int NCNAME = 86;
-  public static final int COMMENT = 77;
-  public static final int INTERSECT = 51;
-  public static final int RPAR = 5;
-  public static final int ITEM = 73;
-  public static final int CASTABLE = 57;
-  public static final int IS = 59;
-  public static final int MINUS = 7;
-  public static final int PROCESSING_INSTRUCTION = 78;
-  public static final int IN = 61;
-  public static final int OR = 71;
-  public static final int error = 1;
-  public static final int ATTRIBUTE = 30;
-  public static final int IF = 67;
-  public static final int CAST = 58;
-  public static final int OF = 54;
-  public static final int COLON = 23;
-  public static final int DESCENDANT = 29;
-  public static final int SOME = 65;
-  public static final int RBRACKET = 3;
-  public static final int COLONCOLON = 20;
-  public static final int GREATER_GREATER = 17;
-  public static final int STRING = 85;
-  public static final int SATISFIES = 63;
-  public static final int AND = 70;
-  public static final int TO = 64;
-  public static final int LBRACKET = 2;
-  public static final int NE = 42;
-  public static final int LESS_LESS = 16;
-  public static final int EQUALS = 10;
-}
-
diff --git a/bundles/org.eclipse.wst.xml.xpath2/.project b/bundles/org.eclipse.wst.xml.xpath2/.project
deleted file mode 100644
index 7d15555..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.xml.xpath2</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.wst.xml.xpath2/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.xml.xpath2/META-INF/MANIFEST.MF
deleted file mode 100644
index 4d18f26..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.eclipse.wst.xml.xpath2
-Bundle-Version: 1.1.0.qualifier
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-Localization: plugin
diff --git a/bundles/org.eclipse.wst.xml.xpath2/about.html b/bundles/org.eclipse.wst.xml.xpath2/about.html
deleted file mode 100644
index 2199df3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.wst.xml.xpath2/about.ini b/bundles/org.eclipse.wst.xml.xpath2/about.ini
deleted file mode 100644
index 3090c89..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2/about.ini
+++ /dev/null
@@ -1,11 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=icons/WTP_icon_x32_v2.png
diff --git a/bundles/org.eclipse.wst.xml.xpath2/about.mappings b/bundles/org.eclipse.wst.xml.xpath2/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/bundles/org.eclipse.wst.xml.xpath2/about.properties b/bundles/org.eclipse.wst.xml.xpath2/about.properties
deleted file mode 100644
index 15f32ab..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2/about.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Eclipse XSL Developer Tools\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright\n\
-  Doug Satchwell (Chase Technology Ltd),\n\
-  David Carver (Standards for Technology in Automotive Retail)\n\
-  and others 2008. All rights reserved.\n\
-\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/bundles/org.eclipse.wst.xml.xpath2/build.properties b/bundles/org.eclipse.wst.xml.xpath2/build.properties
deleted file mode 100644
index 2f68529..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = META-INF/,\
-               about.html,\
-               about.ini,\
-               about.mappings,\
-               about.properties,\
-               icons/,\
-               plugin.properties
diff --git a/bundles/org.eclipse.wst.xml.xpath2/icons/WTP_icon_x32_v2.png b/bundles/org.eclipse.wst.xml.xpath2/icons/WTP_icon_x32_v2.png
deleted file mode 100644
index 6f09c2a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2/icons/WTP_icon_x32_v2.png
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.xpath2/plugin.properties b/bundles/org.eclipse.wst.xml.xpath2/plugin.properties
deleted file mode 100644
index 748e830..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-#Properties file for org.eclipse.wst.xsl
-Bundle-Vendor.0 = Eclipse Web Tools Platform
-Bundle-Name.0 = Eclipse XPath 2 Developers Tools
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.classpath b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.classpath
deleted file mode 100644
index fd545ef..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.cvsignore b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.cvsignore
deleted file mode 100644
index a6535f3..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-test.xml
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.project b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.project
deleted file mode 100644
index 8e1061b..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.project
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.xml.xpath2.processor.doc.user</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.wst.validation.validationbuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.settings/org.eclipse.jdt.core.prefs b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 2b7f98f..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Sat Aug 15 02:24:36 GMT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/META-INF/MANIFEST.MF b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/META-INF/MANIFEST.MF
deleted file mode 100644
index efa2424..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.xml.xpath2.processor.doc.user;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Vendor: %vendorName
-Require-Bundle: org.eclipse.core.runtime
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/about.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/about.html
deleted file mode 100644
index ed30003..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>August, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/build.properties b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/build.properties
deleted file mode 100644
index 674ed9d..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-bin.includes = plugin.xml,\
-               META-INF/,\
-               .,\
-               html/,\
-               toc.xml
-src.includes = buildDoc.xml,\
-               build.properties,\
-               docbook/,\
-               html/,\
-               toc.xml,\
-               plugin.xml,\
-               mediawiki/
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/buildDoc.xml b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/buildDoc.xml
deleted file mode 100644
index a249fe0..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/buildDoc.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ====================================================================== 
-     Aug 15, 2009 2:27:05 AM                                                        
-
-     XPath 2.0 Processor Documentation Generator    
-     This will take a snapshot of the files on the wiki, that are in wiki text and generate the
-     docbook documents 
-                   
-     dcarver                                                                
-     ====================================================================== -->
-<project name="XPath 2.0 Processor Documentation Generator" default="getwikitext">
-	<description>
-            This will take a snapshot of the files on the wiki, that are in wiki text and generate the 
-    </description>
-	
-	<property name="current-loc" location="." />
-	<property name="workspace" location=".." />
-	<property name="htmldir" value="${current-loc}/html" />
-	<property name="docbookdir" value="${workspace}/DocBookXSL/eclipse" />
-	<property name="docbooksource" value="${current-loc}/docbook"/>
-	<property name="xalan" value="org.apache.xalan.processor.TransformerFactoryImpl" />
-
-	<!-- XSLT Chunking Properties -->
-	<property name="base.dir" value="${htmldir}"/>
-
-	<!-- ================================= 
-          target: default              
-         ================================= -->
-	<target name="getwikitext">
-		<get dest="mediawiki/usermanual/usermanual.mediawiki" src="http://wiki.eclipse.org/index.php?title=PsychoPathXPathProcessor/UserManual&amp;action=raw" />
-	</target>
-
-	<!-- - - - - - - - - - - - - - - - - - 
-          target: depends                      
-         - - - - - - - - - - - - - - - - - -->
-	<target name="convert" depends="getwikitext">
-		<property name="wikitext.standalone" location="lib/plugins" />
-		<!-- path to wikitext standalone package -->
-
-		<path id="wikitext.classpath">
-			<fileset dir="${wikitext.standalone}">
-				<include name="org.eclipse.mylyn.wikitext.*core*.jar" />
-			</fileset>
-		</path>
-
-		<taskdef classpathref="wikitext.classpath" resource="org/eclipse/mylyn/wikitext/core/util/anttask/wikitext-tasks.properties" />
-
-		<wikitext-to-docbook markupLanguage="MediaWiki">
-			<fileset dir="mediawiki">
-				<include name="**/*.mediawiki" />
-			</fileset>
-		</wikitext-to-docbook>
-
-<!--		<wikitext-to-eclipse-help markupLanguage="MediaWiki" 
-			multipleOutputFiles="true"
-			navigationImages="true"
-			helpPrefix="html">
-			<fileset dir="${basedir}">
-    				<include name="mediawiki/**/*.mediawiki"/>
-			</fileset>
-			<stylesheet url="styles/help.css"/>
-			<stylesheet url="styles/main.css"/>
-		</wikitext-to-eclipse-help>
--->		
-
-	</target>
-
-	<target name="create-doc">
-
-		<xslt force="true" style="${docbookdir}/eclipse33.xsl" in="${docbooksource}/usermanual.xml" out="test.xml">
-			<factory name="${xalan}" />
-			<param name="manifest" expression="1"/>
-			<param name="base.dir" expression="${htmldir}/"/>
-			<param name="create.plugin.xml" expression="0"/>
-			<param name="chunker.output.indent" expression="yes"/>
-			<param name="navig.showtitles" expression="0"/>
-			<param name="suppress.navigation" expression="1"/>
-            <param name="generate.toc" expression="book      toc,title
-chapter   toc,title
-section   title" />
-			<param name="chapter.autolabel" expression="0"/>
-			<param name="section.autolabel" expression="0"/>
-			<param name="html.stylesheet" expression="book.css ../book.css"/>
-			<param name="chunk.section.depth" expression="3"/>
-			<param name="toc.section.depth" expression="5"/>
-			<param name="toc.list.type" expression="ul"/>
-		</xslt>
-		
-		<replace file="${current-loc}/toc.xml" token="${current-loc}/" value=""/>
-	</target>
-	
-</project>
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/docbook/usermanual.xml b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/docbook/usermanual.xml
deleted file mode 100644
index 1caf578..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/docbook/usermanual.xml
+++ /dev/null
@@ -1,1292 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
-<book>
-  <title>XPath 2.0 Processor User Manual</title>
-
-  <chapter id="Introduction">
-    <title>Introduction</title>
-
-    <para>What is PsychohPath? PsychoPath is a XPath 2.0 XML Schema Aware
-    processor. It is nearly fully compliant to the XPath 2.0 test suite. It is
-    a library that does not require eclipse to be used. Known adopters of
-    PsychoPath include the Xerces-J project for XML Schemas 1.1 assertion
-    support.</para>
-
-    <para>PsychoPath is the only known open-source java XPath 2.0 processor
-    that is fully schema aware. SAXON HE only supports the core functionality.
-    XML Schema awarness provides tighter static checking, and can be used to
-    help determine if certain operations can or should occur on an XML node.
-    For a detailed description of the PsychoPath's design please see the
-    <ulink url="/PsychoPathXPathProcessor/Design">design</ulink>
-    document.</para>
-
-    <section id="Getting_PsychoPath">
-      <title>Getting PsychoPath</title>
-
-      <para>Currently there is no standalone build of PsychoPath. However, you
-      can download the <ulink
-      url="http://download.eclipse.org/webtools/downloads/drops/R3.1/R-3.1-20090616035105/">WTP
-      WST 3.1</ulink> zip file, and use the
-      org.eclipse.wst.xml.xpath2.processor.jar file. This jar has no
-      dependencies on eclipse, and will work as a standard jar file. If you
-      are using an OSGI container, then this is treated as a standard OSGI
-      bundle.</para>
-
-      <tip>
-        <title>PsychoPath 1.1M1</title>
-
-        <para>PsychoPath 1.1M1 is also available to <ulink
-        url="http://download.eclipse.org/webtools/downloads/drops/R3.2/S-3.2M1b-20090814143519/">download</ulink>.
-        1.1M1 passes 96% of the XPath 2.0 test suite.</para>
-      </tip>
-
-      <para>Additional dependencies you currently need are:</para>
-
-      <itemizedlist>
-        <listitem>
-          <para>IBM ICU 4.0 or greater</para>
-        </listitem>
-
-        <listitem>
-          <para>Xerces 2.8.0 or greater</para>
-        </listitem>
-
-        <listitem>
-          <para>JavaCup 0.10 or greater.</para>
-        </listitem>
-      </itemizedlist>
-
-      <para>If using eclipse, these are all available from the Orbit project.
-      Others can find the necessary jars from their respective project
-      pages.</para>
-    </section>
-  </chapter>
-
-  <chapter id="How_to_feed_Psychopath_XPath_expressions">
-    <title>Using PsychoPath XPath 2.0 API</title>
-
-    <para>Since PsychoPath has been implemented as an external library and not
-    as a complete program, in order to use it, it needs to be accessed from
-    inside another program. To process XPath 2.0 expressions using PsychoPath
-    from another programs one needs to go through the following
-    process:</para>
-
-    <orderedlist>
-      <listitem>
-        <para>Load the XML document</para>
-      </listitem>
-
-      <listitem>
-        <para>Optionally validate the XML document</para>
-      </listitem>
-
-      <listitem>
-        <para>Initialize static and dynamic context in respect to the document
-        root</para>
-      </listitem>
-
-      <listitem>
-        <para>Parse the XPath 2.0 expression</para>
-      </listitem>
-
-      <listitem>
-        <para>Statically verify the XPath 2.0 expression</para>
-      </listitem>
-
-      <listitem>
-        <para>Evaluate the XPath 2.0 expression in respect to the XML
-        document</para>
-      </listitem>
-    </orderedlist>
-
-    <para>To give a better idea of how this process actually works, we’ll go
-    through an example of processing and evaluating the string expression
-    “Hello World!”. In this example the XML document that we load is called
-    “XPexample.xml”.</para>
-
-    <section id="Non-Schema_Aware">
-      <title>Non-Schema Aware</title>
-
-      <programlisting>/**
- * First load and optionally validate the XML document 
-*/
-// Create an InputStream from the XML document
-InputStream is = new FileInputStream(“XPexample.xml”);
-
-// Initializing the Xerces DOM loader.
-DOMLoader loader = new XercesLoader();
-
-// Optionally set flag to validate XML document loader.setvalidating(validate);
-// Loads the XML document and stores the DOM root
-Document doc = loader.load(is);
-
-/**
- * Dynamic contexts must be initialised to defaults
- * dependent on the XML Schema.
-*/
-
-// Extracting the schema from DOM root of Xpexpression.xml.
-ElementPSVI rootPSVI = (ElementPSVI)doc.getDocumentElement();
-XSModel schema = rootPSVI.getSchemaInformation();
-
-// Initialising the DynamicContext.
-DynamicContext dc = new DefaultDynamicContext(schema, doc);
-
-// Register the namespaces of the XPath 2.0 predefined datatypes
-dc.addnamespace(“xs”,”[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]”);
-
-// Register the XPath 2.0 standard functions
-dc.addfunctionlibrary(new FnFunctionLibrary());
-dc.addfunctionlibrary(new XSCtrLibrary());
-
-/**
- * Parsing the XPath 2.0 expression into an AST representation
- */
-// Initialises PsychoPath’s supplied parser.
-XPathParser xpp = new JflexCupParser();
-
-// Parses the XPath expression.
-XPath xp = xpp.parse(xpath);
-/**
- * Static check the AST to verift structural validity of  
- * XPath 2.0 expression
- */
-
-// Initializing StaticChecker.
-StaticChecker namecheck = new StaticNameResolver(sc);
-
-// Static Checking the Xpath expression ’Hello World!’ namecheck.check(xp);
-/**
- * Evaluate the XPath 2.0 expression
- */
- 
-// Initializing the evaluator with DynamicContext and the name
-// of the XML document XPexample.xml as parameters.
-Evaluator eval = new DefaultEvaluator(dc, doc);
- 
-// Evaluates the XPath 2.0 expression, storing the result
-// in the ResultSequence
-ResultSequence rs = eval.evaluate(xp); 
-</programlisting>
-    </section>
-
-    <section id="Schema_Aware">
-      <title>Schema Aware</title>
-
-      <para></para>
-
-      <programlisting>/**
- * First load and optionally validate the XML document 
-*/
-
- SchemaFactory schemaFactory = new XMLSchemaFactory();
- URL schemaURL = new File("XPexample.xsd").toURL();
- Schema jaxpschema = schemaFactory.newSchema(schemaURL);
-
-// Create an InputStream from the XML document
-InputStream is = new FileInputStream(“XPexample.xml”);
-
-// Initializing the Xerces DOM loader.
-DOMLoader loader = new XercesLoader(jaxpschema);
-
-// Optionally set flag to validate XML document loader.setvalidating(validate);
-// Loads the XML document and stores the DOM root
-Document doc = loader.load(is);
-
-/**
- * Dynamic contexts must be initialised to defaults
- * dependent on the XML Schema.
-*/
-
-// Initialising the DynamicContext.
-DynamicContext dc = new DefaultDynamicContext(jaxpschema, doc);
-
-// Register the namespaces of the XPath 2.0 predefined datatypes
-dc.addnamespace(“xs”,”[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]”);
-
-// Register the XPath 2.0 standard functions
-dc.addfunctionlibrary(new FnFunctionLibrary());
-dc.addfunctionlibrary(new XSCtrLibrary());
-
-/**
- * Parsing the XPath 2.0 expression into an AST representation
- */
-// Initialises PsychoPath’s supplied parser.
-XPathParser xpp = new JflexCupParser();
-
-// Parses the XPath expression.
-XPath xp = xpp.parse(xpath);
-
-/**
- * Static check the AST to verift structural validity of  
- * XPath 2.0 expression
- */
-
-// Initilising StaticChecker.
-StaticChecker namecheck = new StaticNameResolver(sc);
-
-// Static Checking the Xpath expression ’Hello World!’ namecheck.check(xp);
-/**
- * Evaluate the XPath 2.0 expression
- */
-
-// Initialising the evaluator with DynamicContext and the name
-// of the XML document XPexample.xml as parameters.
-Evaluator eval = new DefaultEvaluator(dc, doc); 
-
-// Evaluates the XPath 2.0 expression, storing the result
-// in the ResultSequence
-ResultSequence rs = eval.evaluate(xp); 
-</programlisting>
-
-      <para>XPath 2.0 defines everything to be a sequence of items, including
-      the arguments to expressions and the result of operations. Thus, the
-      overall result of an XPath expression evaluation is also a sequence of
-      items. PsychoPath uses the class ResultSequence as a Collections wrapper
-      to store these sequences and therefore, the result of an evaluation is
-      of this type also. The ResultSequence consists of zero or more items; an
-      item may be a node or a simple-value. “Hello World!” is an example of a
-      single value with length 1. A general sequence could be written as (“a”,
-      “s”, “d”, “f”).</para>
-
-      <para>Extraction of certain items from the ResultSequence class is
-      described below, with details of the different operations that one might
-      apply on the ResultSequence. Consider that ’rs’ is the ResultSequence,
-      then:</para>
-
-      <para></para>
-
-      <programlisting>// Will return the number of elements in the sequence, in this
-// case of ’Hello World!’ expression size = 1.
-rs.size(); 
-
-// Will return the n’th element in the sequence, in this case of
-// ’Hello World!’, if n = 1, then it will return
-// XSString of “Hello World!”, but if n = 2, it will return
-// Empty Result.
-rs.get(n);
-
-//Will return true if the sequence is empty.
-rs.empty(); 
-
-// Will return the first element of the sequence, 
-// in this example it will return XSString of “Hello World!” 
-rs.first() 
-</programlisting>
-
-      <para>However, all the items extracted will be of the type’s base class
-      AnyType and need to be casted into its actual subtype.</para>
-
-      <para>Certain operations always return a particular type and using this
-      knowledge, the extracted item can be immediately casted. In our example
-      “Hello World!” returns a string (easily known as it is inside the quotes
-      ’ ’ ), so this can safely be casted as such:</para>
-
-      <para><programlisting>XSString xsstring = XSString)(rs.first());</programlisting>The
-      actual result can now be extracted from this XSString in the following
-      manner: <programlisting>String str = xsstring.value();</programlisting></para>
-
-      <para>The details of how to cast extracted items from AnyType into their
-      actual subtypes with examples is in the next section on How to use each
-      production in the grammar.</para>
-
-      <para>However, if the expected return type is unknown or multiple types
-      are possible, the types hierarchy can be traversed in a breadth first
-      manner making use of the Java instanceof operator to ascertain the
-      actual type. </para>
-    </section>
-
-    <section id="How_to_use_the_XPath_2.0_grammar_with_PsychoPath">
-      <title>How to use the XPath 2.0 grammar with PsychoPath</title>
-
-      <para>In this section we will try to give you an overview of the XPath
-      2.0 grammar in general and how each production in the grammar should be
-      used with PsychoPath. For the formal specifications, see the W3C
-      web-site for XPath 2.0 specification <ulink
-      url="http://www.w3.org/TR/xpath20">http://www.w3.org/TR/xpath20</ulink>.</para>
-
-      <section id="Constants">
-        <title>Constants</title>
-
-        <para>String literals are written as “Hello” or ‘Hello’. In each case
-        the opposite kind of quotation mark can be used within the string: ‘He
-        said “Hello” ’ or “London is a big city”. To feed PsychoPath, “ ‘Hello
-        World!’ ”or “ “Hello World!” ” can be used to feed it with strings.
-        Remember that the ResultSequence returns AnyType so since a string is
-        being expected as the result, first it has to be casted in the code
-        like this: <programlisting>XSString xsstring = (XSString)(rs.first());</programlisting>
-        Numeric constants follow the Java rules for decimal literals: for
-        example, 4 or 4.67; a negative number can be written as -3.05. The
-        numeric literal is taken as a double precision floating point number
-        if it uses scientific notation (e.g. 1.0e7), as a fixed point decimal
-        if it includes a decimal point, or as an integer otherwise. When
-        extracting number literals from the ResultSequence, possible types to
-        be returned include <emphasis role="italic">XSDecima''l (e.g. :
-        xs:decimal: 4.67),''XSInteger ''(e.g. : xs:integer: 4) or
-        ''XSDouble</emphasis> (e.g. : xs:double 1e0). All of which need to be
-        cast in the same manner as stated before: from AnyType to their
-        corresponding types.</para>
-
-        <para>There are no boolean constants as such: <emphasis
-        role="italic">true, false</emphasis> instead the function calls
-        <emphasis role="bold">true()</emphasis> and <emphasis
-        role="bold">false()</emphasis> are used.</para>
-
-        <para>Constants of other data types can be written using constructors.
-        These look like function calls but require a string literal as their
-        argument. For example, <emphasis
-        role="bold">xs:float(“10.7”)</emphasis> produces a single-precision
-        floating point number.</para>
-      </section>
-
-      <section id="Path_expressions">
-        <title>Path expressions</title>
-
-        <para>A path expression is a sequence of steps separated by the
-        <emphasis role="bold">/''' or '''//</emphasis> operator. For example,
-        <emphasis role="bold">../@desc</emphasis> selects the desc attribute
-        of the parent of the context node.</para>
-
-        <para>In XPath 2.0, path expressions have been generalized so that any
-        expression can be used as an operand of <emphasis
-        role="bold">/</emphasis>, (both on the left and the right), as long as
-        its value is a sequence of nodes. For example, it is possible to use a
-        union expression (in parentheses) or a call to the id()
-        function.</para>
-
-        <para>In practice, it only makes sense to use expressions on the right
-        of <emphasis role="bold">"/"</emphasis> if they depend on the context
-        item. It is legal to write $x/$y provided both $x and $y are sequences
-        of nodes, but the result is exactly the same as writing <emphasis
-        role="bold"> <emphasis role="italic">./$y</emphasis>
-        </emphasis>.</para>
-
-        <para>Note that the expressions <emphasis role="bold">./$X</emphasis>
-        or <emphasis role="bold">$X/.</emphasis> can be used to remove
-        duplicates from <emphasis role="bold">$X</emphasis> and sort the
-        results into document order.</para>
-
-        <para>The operator <emphasis role="bold">//</emphasis> is an
-        abbreviation for <emphasis
-        role="bold">/descendant-or-self::node()</emphasis>. An expression of
-        the form <emphasis role="bold">/E</emphasis> is shorthand for
-        <emphasis role="bold">root(.)/E</emphasis>, and the expression
-        <emphasis role="bold">/''' on its own is shorthand for
-        '''root(.)</emphasis>.</para>
-      </section>
-
-      <section id="Axis_steps">
-        <title>Axis steps</title>
-
-        <para>The basic primitive for accessing a source document is the axis
-        step. Axis steps may be combined into path expressions using the path
-        operators "/" and "//", and they may be filtered using filter
-        expressions in the same way as the result of any other
-        expression.</para>
-
-        <para>An axis step has the basic form axis::node-test, and selects
-        nodes on a given axis that satisfy the node-test. The axes available
-        are:</para>
-
-        <orderedlist>
-          <listitem>
-            <para>element: age</para>
-          </listitem>
-
-          <listitem>
-            <para>element: age</para>
-          </listitem>
-        </orderedlist>
-
-        <para>The rest of the axes act in the same manner.</para>
-      </section>
-
-      <section id="Set_difference.2C_intersection_and_Union">
-        <title>Set difference, intersection and Union</title>
-
-        <para>The expression E1 except E2 selects all nodes that are in E1
-        unless they are also in E2. Both expressions must return sequences of
-        nodes. The results are returned in document order. For example, @*
-        except @note returns all attributes except the note attribute. The
-        expression E1 intersect E2 selects all nodes that are in both E1 and
-        E2. Both expressions must return sequences of nodes. The results are
-        returned in document order. The expression E1 union E2 selects all
-        nodes that are in either E1 or E2 or both. Both expressions must
-        return sequences of nodes. The results are returned in document order.
-        A complete example of the above expression would be as follows.
-        Consider an XML document which looks like this:</para>
-
-        <programlisting>&lt;nodes&gt;
-  &lt;a&gt;
-    &lt;connecteda&gt;A&lt;/connecteda&gt;
-    &lt;connecteda&gt;B&lt;/connecteda&gt;
-    &lt;connecteda&gt;C&lt;/connecteda&gt;
-  &lt;/a&gt;
-  &lt;b&gt;
-    &lt;connectedb&gt;B&lt;/connectedb&gt;
-    &lt;connectedb&gt;C&lt;/connectedb&gt;
-    &lt;connectedb&gt;D&lt;/connectedb&gt;
-  &lt;/b&gt;
-&lt;/nodes&gt;
-</programlisting>
-
-        <para>Then an example of each of the expressions would be:</para>
-
-        <para><programlisting>data(/a/*) union data(/b/*)</programlisting></para>
-
-        <para> <emphasis role="bold">result:</emphasis></para>
-
-        <orderedlist>
-          <listitem>
-            <para>xs:string: A</para>
-          </listitem>
-
-          <listitem>
-            <para>xs:string: B</para>
-          </listitem>
-
-          <listitem>
-            <para>xs:string: C</para>
-          </listitem>
-
-          <listitem>
-            <para>xs:string: D</para>
-          </listitem>
-        </orderedlist>
-
-        <para><programlisting>data(/a/*) intersect data(/b/*)</programlisting></para>
-
-        <para> <emphasis role="bold">result:</emphasis></para>
-
-        <orderedlist>
-          <listitem>
-            <para>xs:string: B</para>
-          </listitem>
-
-          <listitem>
-            <para>xs:string: C</para>
-          </listitem>
-        </orderedlist>
-
-        <para><programlisting>data(/a/*) except data(/b/*)</programlisting></para>
-
-        <para> <emphasis role="bold">result:</emphasis></para>
-
-        <orderedlist>
-          <listitem>
-            <para>xs:string: D</para>
-          </listitem>
-        </orderedlist>
-      </section>
-
-      <section id="Arithmetic_Expressions">
-        <title>Arithmetic Expressions</title>
-
-        <section id="Unary">
-          <title>Unary</title>
-
-          <para>minus and plus: The unary minus operator changes the sign of a
-          number. For example -1 is minus one, and -1e0 is the double value
-          negative -1.</para>
-        </section>
-
-        <section id="Multiplication_and_Division:">
-          <title>Multiplication and Division:</title>
-
-          <para>The operator * multiplies two numbers. If the operands are of
-          different types, XPath 2.0 specifications say that one of them is
-          promoted to the type of the other. The result is the same type as
-          the operands after promotion.</para>
-
-          <para>The operator div divides two numbers. Dividing two integers
-          produces a double; in other cases the result is the same type as the
-          operands.</para>
-
-          <para>The operator idiv performs integer division. For example, the
-          result of 10 idiv 3 is 3.</para>
-
-          <para>The mod operator returns the modulus (or remainder) after
-          division.</para>
-
-          <para>The operators * and div may also be used to multiply or divide
-          a range by a number.</para>
-
-          <para>For example, <emphasis role="italic">(1 idiv 1 to
-          3)</emphasis> returns the result: <emphasis
-          role="italic">xs:integer: 1, xs:integer: 2, xs:integer:
-          3</emphasis></para>
-        </section>
-
-        <section id="Addition_and_Subtraction:">
-          <title>Addition and Subtraction:</title>
-
-          <para>The operators <emphasis role="bold">+</emphasis> and <emphasis
-          role="italic">'-'</emphasis> perform addition and subtraction of
-          numbers, in the usual way. Once again, if the operands are of
-          different types, XPath 2.0 specifications say one of them is
-          promoted but numeric type promotion is currently unsupported by
-          PsychoPath. The result is of the same type as the operands.</para>
-
-          <para>Examples of above would be:</para>
-
-          <para><programlisting> -(5 + 7)</programlisting></para>
-
-          <para> <emphasis role="bold">result:</emphasis></para>
-
-          <orderedlist>
-            <listitem>
-              <para>xs:integer: -12</para>
-            </listitem>
-          </orderedlist>
-
-          <para><programlisting>-xs:float(’1.23’)</programlisting></para>
-
-          <para> <emphasis role="bold">result:</emphasis></para>
-
-          <orderedlist>
-            <listitem>
-              <para>xs:float: -1.23</para>
-            </listitem>
-          </orderedlist>
-
-          <para><programlisting>-xs:double(’1.23’)</programlisting></para>
-
-          <para> <emphasis role="bold">result:</emphasis></para>
-
-          <orderedlist>
-            <listitem>
-              <para>xs:double: -1.23</para>
-            </listitem>
-          </orderedlist>
-
-          <para><programlisting>(+5 - +7)</programlisting></para>
-
-          <para> <emphasis role="bold">result:</emphasis></para>
-
-          <orderedlist>
-            <listitem>
-              <para>xs:integer: -2</para>
-            </listitem>
-          </orderedlist>
-
-          <para><programlisting>(1 to 5 div 0 )</programlisting></para>
-
-          <para> <emphasis role="bold">result:</emphasis></para>
-
-          <itemizedlist>
-            <listitem>
-              <para>FAIL (division by zero!)</para>
-            </listitem>
-          </itemizedlist>
-
-          <para><programlisting>5*6*10*5*96 div 20 div 3 div 1</programlisting></para>
-
-          <para> <emphasis role="bold">result:</emphasis></para>
-
-          <orderedlist>
-            <listitem>
-              <para>xs:decimal: 2400.0</para>
-            </listitem>
-          </orderedlist>
-
-          <para><programlisting>31 mod 15</programlisting></para>
-
-          <para> <emphasis role="bold">result:</emphasis></para>
-
-          <orderedlist>
-            <listitem>
-              <para>xs:integer: 1</para>
-            </listitem>
-          </orderedlist>
-        </section>
-      </section>
-
-      <section id="Range_expressions">
-        <title>Range expressions</title>
-
-        <para>The expression E1 to E2 returns a sequence of integers. For
-        example, 1 to 5 returns the sequence 1, 2, 3, 4, 5. This is useful in
-        for expressions, for example the first five nodes of a node sequence
-        can be processed by writing for $i in 1 to 5 return (//x) <ulink
-        url="$i">$i</ulink>. Another example:</para>
-
-        <para><programlisting>(1+1 to 10)</programlisting></para>
-
-        <para> <emphasis role="bold">result:</emphasis></para>
-
-        <orderedlist>
-          <listitem>
-            <para>xs:integer: 2</para>
-          </listitem>
-
-          <listitem>
-            <para>xs:integer: 3</para>
-          </listitem>
-
-          <listitem>
-            <para>xs:integer: 4</para>
-          </listitem>
-
-          <listitem>
-            <para>xs:integer: 5</para>
-          </listitem>
-
-          <listitem>
-            <para>xs:integer: 6</para>
-          </listitem>
-
-          <listitem>
-            <para>xs:integer: 7</para>
-          </listitem>
-
-          <listitem>
-            <para>xs:integer: 8</para>
-          </listitem>
-
-          <listitem>
-            <para>xs:integer: 9</para>
-          </listitem>
-
-          <listitem>
-            <para>xs:integer: 10</para>
-          </listitem>
-        </orderedlist>
-      </section>
-
-      <section id="Comparisons">
-        <title>Comparisons</title>
-
-        <para>The simplest comparison operators are <emphasis
-        role="bold">eq</emphasis>, <emphasis role="bold">ne</emphasis>,
-        <emphasis role="bold">lt</emphasis>, <emphasis
-        role="bold">le</emphasis>, <emphasis role="bold">gt</emphasis>,
-        <emphasis role="bold">ge</emphasis>. These compare two atomic values
-        of the same type, for example two integers, two dates, or two strings.
-        (Collation hasn’t been implemented in current version of PsychoPath).
-        If the operands are not atomic values, an error is raised.</para>
-
-        <para>The operators <emphasis role="bold">=''', </emphasis>!='
-        <emphasis role="italic">, '</emphasis>&lt;=' <emphasis role="italic">,
-        '</emphasis>&gt; <emphasis role="bold">, '''&lt;</emphasis>, and
-        <emphasis role="bold">&gt;=</emphasis> can compare arbitrary
-        sequences. The result is true if any pair of items from the two
-        sequences has the specified relationship, for example <emphasis
-        role="italic">$A = $B</emphasis> is true if there is an item in
-        <emphasis role="italic">$A</emphasis> that is equal to some item in
-        <emphasis role="italic">$B</emphasis>.</para>
-
-        <para>The operators <emphasis role="bold">is</emphasis> and <emphasis
-        role="bold">isnot</emphasis> test whether the operands represent the
-        same (identical) node. For example, <emphasis role="italic">title
-        <ulink url="1">1</ulink> is * <ulink url="@note">@note</ulink> <ulink
-        url="1">1</ulink> </emphasis> is true if the first title child is the
-        first child element that has a <emphasis
-        role="italic">@note</emphasis> attribute. If either operand is an
-        empty sequence the result is an empty sequence (which will usually be
-        treated as false).</para>
-
-        <para>The operators <emphasis role="bold">&lt;&lt;</emphasis> and
-        <emphasis role="bold">&gt;&gt;</emphasis> test whether one node
-        precedes or follows another in document order. Consider this XML
-        document:</para>
-
-        <programlisting>&lt;book&gt;
- &lt;title&gt;Being a Dog Is a Full-Time Job&lt;/title&gt;
- &lt;author&gt;Charles M. Schulz&lt;/author&gt;
- &lt;character&gt;
-   &lt;name&gt;Snoopy&lt;/name&gt;
-   &lt;friend-of&gt;Peppermint Patty&lt;/friend-of&gt;
-   &lt;since&gt;1950-10-04&lt;/since&gt;
-   &lt;age&gt;2&lt;/age&gt;
-   &lt;qualification&gt;extroverted beagle&lt;/qualification&gt;
- &lt;/character&gt;
- &lt;character&gt;
-   &lt;name&gt;Peppermint Patty&lt;/name&gt;
-   &lt;since&gt;1966-08-22&gt;/since&gt;
-   &lt;age&gt;4&lt;/age&gt;
-   &lt;qualification&gt;bold, brash and tomboyish&lt;/qualification&gt;
- &lt;/character&gt;
-&lt;/book&gt;
-</programlisting>
-
-        <para>Example:</para>
-
-        <para><programlisting>book/character name="Snoopy" &lt;&lt; book/character Patty" </programlisting></para>
-
-        <para><emphasis role="bold">result:</emphasis></para>
-
-        <orderedlist>
-          <listitem>
-            <para>xs:boolean: true</para>
-          </listitem>
-        </orderedlist>
-
-        <para>book/character <ulink url="name=&quot;Peppermint">Patty"</ulink>
-        &lt;&lt; book/character <ulink
-        url="name=&quot;Snoopy&quot;">name="Snoopy"</ulink> <emphasis
-        role="bold">result:</emphasis></para>
-
-        <orderedlist>
-          <listitem>
-            <para>xs:boolean: false</para>
-          </listitem>
-        </orderedlist>
-      </section>
-
-      <section id="Conditional_Expressions">
-        <title>Conditional Expressions</title>
-
-        <para>XPath 2.0 allows a conditional expression of the form <emphasis
-        role="italic">if ( E1 ) then E2 else E3</emphasis>. For example,
-        <emphasis role="italic">if (@discount) then @discount else
-        0</emphasis> returns the value of the discount attribute if it is
-        present, or zero otherwise.</para>
-      </section>
-
-      <section id="Quantified_Expressions">
-        <title>Quantified Expressions</title>
-
-        <para>The expression <emphasis role="italic">some $x in E1 satisfies
-        E2</emphasis> returns true if there is an item in the sequence E1 for
-        which the effective boolean value of E2 is true. Note that E2 must use
-        the range variable <emphasis role="italic">$x</emphasis> to refer to
-        the item being tested; it does not become the context item. For
-        example, <emphasis role="italic">some $x in @* satisfies $x eq
-        ""</emphasis> is true if the context item is an element that has at
-        least one zero-length attribute value.</para>
-
-        <para>Similarly, the expression <emphasis role="italic">every $x in E1
-        satisfies E2</emphasis> returns true if every item in the sequence
-        given by E1 satisfies the condition.</para>
-      </section>
-
-      <section id="And.2C_Or_Expressions">
-        <title>And, Or Expressions</title>
-
-        <para>The expression <emphasis role="italic">E1 and E2</emphasis>
-        returns true if the effective boolean values of E1 and E2 are both
-        true. The expression <emphasis role="italic">E1 or E2</emphasis>
-        returns true if the effective boolean values of either or both of E1
-        and E2 are true.</para>
-
-        <para><programlisting> (for a truth table) 1 and 1</programlisting></para>
-
-        <para><emphasis role="bold">result:</emphasis></para>
-
-        <orderedlist>
-          <listitem>
-            <para>xs:boolean: true</para>
-          </listitem>
-        </orderedlist>
-
-        <para><programlisting>1 and 0</programlisting></para>
-
-        <para> <emphasis role="bold">result:</emphasis></para>
-
-        <orderedlist>
-          <listitem>
-            <para>xs:boolean: false</para>
-          </listitem>
-        </orderedlist>
-
-        <para><programlisting>1 or 0</programlisting></para>
-
-        <para> <emphasis role="bold">result:</emphasis></para>
-
-        <orderedlist>
-          <listitem>
-            <para>xs:boolean: true</para>
-          </listitem>
-        </orderedlist>
-
-        <para><programlisting>0 or 1</programlisting></para>
-
-        <para> <emphasis role="bold">result:</emphasis></para>
-
-        <orderedlist>
-          <listitem>
-            <para>xs:boolean: true</para>
-          </listitem>
-        </orderedlist>
-
-        <para></para>
-      </section>
-
-      <section id="SequenceType_Matching_Expressions">
-        <title>SequenceType Matching Expressions</title>
-
-        <para>The rules for SequenceType matching compare the actual type of a
-        value with an expected type. These rules are a subset of the formal
-        rules that match a value with an expected type defined in XQuery 1.0
-        and XPath 2.0 Formal Semantics <ulink
-        url="http://www.w3.org/TR/xpath20/#XQueryFormalSemantics">http://www.w3.org/TR/xpath20/#XQueryFormalSemantics</ulink>,
-        because the Formal Semantics must be able to match a value with any
-        XML Schema type, whereas the rules below only match values against
-        those types expressible by the SequenceType syntax.</para>
-
-        <para>Some of the rules for SequenceType matching require determining
-        whether a given type name is the same as or derived from an expected
-        type name. The given type name may be "known" (defined in the in-scope
-        schema definitions), or "unknown" (not defined in the in-scope schema
-        definitions). An unknown type name might be encountered, for example,
-        if a source document has been validated using a schema that was not
-        imported into the static context. In this case, an implementation is
-        allowed (but is not required) to provide an implementation-dependent
-        mechanism for determining whether the unknown type name is derived
-        from the expected type name. For example, an implementation might
-        maintain a data dictionary containing information about type
-        hierarchies. consider the following XML document:</para>
-
-        <programlisting>&lt;sorbo&gt;
- &lt;is&gt;elite&lt;/is&gt;
- &lt;!-- life sux --&gt;
-&lt;/sorbo&gt;
-</programlisting>
-
-        <para>Then, the following are some example of SequenceType
-        matchings:</para>
-
-        <para><programlisting> element({*})</programlisting></para>
-
-        <para> <emphasis role="bold">result:</emphasis></para>
-
-        <orderedlist>
-          <listitem>
-            <para>element: sorbo</para>
-          </listitem>
-        </orderedlist>
-
-        <para><programlisting>element(elite)</programlisting></para>
-
-        <para> <emphasis role="bold">result:</emphasis></para>
-
-        <orderedlist>
-          <listitem>
-            <para>Empty results</para>
-          </listitem>
-        </orderedlist>
-
-        <para><programlisting>sorbo/comment()</programlisting></para>
-
-        <para> <emphasis role="bold">result:</emphasis></para>
-
-        <orderedlist>
-          <listitem>
-            <para>comment: life sux</para>
-          </listitem>
-        </orderedlist>
-
-        <para><programlisting>data(/sorbo/comment())</programlisting></para>
-
-        <para> <emphasis role="bold">result:</emphasis></para>
-
-        <orderedlist>
-          <listitem>
-            <para>xs:string: life sux</para>
-          </listitem>
-        </orderedlist>
-
-        <para><programlisting>sorbo/node()</programlisting></para>
-
-        <para><emphasis role="bold">result:</emphasis></para>
-
-        <orderedlist>
-          <listitem>
-            <para>text:</para>
-          </listitem>
-
-          <listitem>
-            <para>element: is</para>
-          </listitem>
-
-          <listitem>
-            <para>comment: life sux</para>
-          </listitem>
-
-          <listitem>
-            <para>text:</para>
-          </listitem>
-        </orderedlist>
-
-        <para></para>
-      </section>
-    </section>
-  </chapter>
-
-  <chapter id="How_to_use_XPath_2.0_functions_with_PsychoPath">
-    <title>How to use XPath 2.0 functions with PsychoPath</title>
-
-    <para>The aim of this section is to give the user an overview of the
-    available XPath 2.0 functions that are implemented in PsychoPath. For the
-    formal specifications, see the W3C web-site for XPath 2.0 functions and
-    operators <ulink
-    url="http://www.w3.org/TR/xpath-functions/">http://www.w3.org/TR/xpath-functions/</ulink>.</para>
-
-    <section id="Accessors">
-      <title>Accessors</title>
-
-      <para>In order for PsychoPath to operate on instances of the XPath 2.0
-      data model, the model must expose the properties of the items it
-      contains. It does this by defining a family of accessor functions. These
-      functions are not available to users or applications to call directly.
-      Instead, they are descriptions of the information that an implementation
-      of the model must expose to applications.</para>
-
-      <para>data(‘string’)</para>
-
-      <para>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</para>
-
-      <para><programlisting>String n = ((XSString)rs.first()).stringvalue();
-println(n);</programlisting></para>
-
-      <para>In order to get the result of ‘string’</para>
-    </section>
-
-    <section id="Constructor_Functions">
-      <title>Constructor Functions</title>
-
-      <para><programlisting>xs:dateTime("2002-02-01T10:00:00+06:00")</programlisting></para>
-
-      <para>From within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</para>
-
-      <para><programlisting>String n = ((XSDateTime)rs.first()).stringvalue(); println(n);</programlisting></para>
-
-      <para>in order to get the result of ‘2002-02-01T04:00:00Z’</para>
-    </section>
-
-    <section id="Functions_on_Numeric_Values">
-      <title>Functions on Numeric Values</title>
-
-      <para><programlisting>ceiling(xs:float(‘10.4’))</programlisting></para>
-
-      <para>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</para>
-
-      <para><programlisting>float n = ((XSFloat)rs.first()).floatvalue();
-println(n);</programlisting></para>
-
-      <para>In order to get the result of ‘11.0’</para>
-    </section>
-
-    <section id="Functions_to_Assemble_and_Disassemble_Strings">
-      <title>Functions to Assemble and Disassemble Strings</title>
-
-      <para><programlisting>codepoints-to-string(0111)</programlisting></para>
-
-      <para>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</para>
-
-      <para><programlisting>String n = ((XSString)rs.first()).stringvalue();
-println(n);&lt;/source&gt;</programlisting></para>
-
-      <para>In order to get the result of ‘o’</para>
-    </section>
-
-    <section id="Compare_and_Other_Functions_on_String_Values">
-      <title>Compare and Other Functions on String Values</title>
-
-      <para><programlisting>concat(‘un’, ‘grateful’)</programlisting></para>
-
-      <para>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</para>
-
-      <para><programlisting>String n = ((XSString)rs.first()).stringvalue();
-println(n);</programlisting></para>
-
-      <para>In order to get the result of ‘ungrateful’</para>
-    </section>
-
-    <section id="Functions_Based_on_Substring_Matching">
-      <title>Functions Based on Substring Matching</title>
-
-      <para><programlisting>contains("abc", "edf")</programlisting></para>
-
-      <para>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</para>
-
-      <para><programlisting>boolean n = ((XSBoolean)rs.first()).value();
-println(n);</programlisting></para>
-
-      <para>In order to get the result of ‘false’</para>
-    </section>
-
-    <section id="String_Functions_that_Use_Pattern_Matching">
-      <title>String Functions that Use Pattern Matching</title>
-
-      <para><programlisting>matches(‘abcd’, ‘abcd’)</programlisting></para>
-
-      <para>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</para>
-
-      <para><programlisting>boolean n = ((XSBoolean)rs.first()).value();
-println(n);</programlisting></para>
-
-      <para>In order to get the result of ‘true’</para>
-    </section>
-
-    <section id="Functions_on_Boolean_Values">
-      <title>Functions on Boolean Values</title>
-
-      <para><programlisting>not(true())</programlisting></para>
-
-      <para>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</para>
-
-      <para><programlisting>boolean n = ((XSBoolean)rs.first()).value();
-println(n);</programlisting></para>
-
-      <para>in order to get the result of ‘false’</para>
-    </section>
-
-    <section id="Component_Extraction_Functions_on_Durations.2C_Dates_and_Times">
-      <title>Component Extraction Functions on Durations, Dates and
-      Times</title>
-
-      <para><programlisting>timezone-from-time(xs:time("13:20:00+05:00"))</programlisting></para>
-
-      <para>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</para>
-
-      <para><programlisting>String n = ((XDTDayTimeDuration)rs.first()).stringvalue(); 
-println(n);</programlisting></para>
-
-      <para>in order to get the result of ‘PT5H’</para>
-    </section>
-
-    <section id="Functions_Related_to_QNames">
-      <title>Functions Related to QNames</title>
-
-      <para><programlisting>local-name-from-QName(QName(‘ <ulink
-            url="http://www.example.com/example">http://www.example.com/example</ulink>’, ‘person’))</programlisting></para>
-
-      <para>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</para>
-
-      <para><programlisting>String n = ((XSNCName)rs.first()).stringvalue();
-println(n);</programlisting></para>
-
-      <para>in order to get the result of ‘person’</para>
-    </section>
-
-    <section id="Functions_on_Nodes">
-      <title>Functions on Nodes</title>
-
-      <para></para>
-
-      <section id="General_Functions_on_Sequences">
-        <title>General Functions on Sequences</title>
-
-        <para><programlisting>remove((‘s’,‘o’,‘m’,‘e’,‘t’,‘h’,‘i’,‘n’,‘g’), 6)</programlisting></para>
-
-        <para>from within a Java application, in order to extract the result
-        from the result sequence, one would have to use this code:</para>
-
-        <programlisting>for (Iterator iter = rs.iterator(); iter.hasNext();) {
-  Object item = iter.next(); 
-  String n = ((XSString)item).stringvalue();
-  print(n + " ");
-} println("");
-</programlisting>
-
-        <para>in order to get the result of ‘s o m e t i n g’</para>
-      </section>
-
-      <section id="Functions_That_Test_the_Cardinality_of_Sequences">
-        <title>Functions That Test the Cardinality of Sequences</title>
-
-        <para><programlisting>one-or-more((1,2,3,4,5))</programlisting></para>
-
-        <para>from within a Java application, in order to extract the result
-        from the result sequence, one would have to use this code:</para>
-
-        <programlisting>for (Iterator iter = rs.iterator(); iter.hasNext();) {
- Object item = iter.next();
- int n = ((XSInteger)item).intvalue();
- print(n + " ");
-} println("");
-</programlisting>
-
-        <para>in order to get the result of ‘1 2 3 4 5’</para>
-      </section>
-
-      <section id="Deep-Equal.2C_Aggregate_Functions.2C_and_Functions_that_Generate_Sequences">
-        <title>Deep-Equal, Aggregate Functions, and Functions that Generate
-        Sequences</title>
-
-        <para><programlisting>avg((3,4,5))</programlisting></para>
-
-        <para>from within a Java application, in order to extract the result
-        from the result sequence, one would have to use this code:</para>
-
-        <para><programlisting>double avg = ((XSDouble)rs.first()).doublevalue();
-println(avg);</programlisting></para>
-
-        <para>in order to get the result of ‘4.0’</para>
-      </section>
-
-      <section id="Context_Functions">
-        <title>Context Functions</title>
-
-        <para><programlisting>(10 to 20) = 2</programlisting></para>
-
-        <para>from within a Java application, in order to extract the result
-        from the result sequence, one would have to use this code:</para>
-
-        <para><programlisting>int pos = ((XSInteger)rs.first()).intvalue(); println(pos);</programlisting></para>
-
-        <para>in order to get the result of ‘11’</para>
-      </section>
-    </section>
-  </chapter>
-
-  <chapter id="How_to_use_XPath_2.0_operators_with_PsychoPath">
-    <title>How to use XPath 2.0 operators with PsychoPath</title>
-
-    <para>The aim of this section is to give the user an overview of the
-    available XPath 2.0 operators that are implemented in PsychoPath. For the
-    formal specifications, see the W3C web-site for XPath 2.0 functions and
-    operators <ulink
-    url="http://www.w3.org/TR/xpath-functions/">http://www.w3.org/TR/xpath-functions/</ulink>.</para>
-
-    <para></para>
-
-    <section id="Operators_on_Numeric_Values">
-      <title>Operators on Numeric Values</title>
-
-      <para><programlisting>xs:integer(4) + xs:integer(3)</programlisting></para>
-
-      <para>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</para>
-
-      <para><programlisting>Integer n = ((XSInteger)rs.first()).integervalue(); 
-println(n);</programlisting></para>
-
-      <para>in order to get the result of ‘7’</para>
-    </section>
-
-    <section id="Comparison_of_Numeric_Values">
-      <title>Comparison of Numeric Values</title>
-
-      <para><programlisting>xs:decimal(3.3) = xs:decimal(6.6)</programlisting></para>
-
-      <para>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</para>
-
-      <para><programlisting>boolean n = ((XSBoolean)rs.first()).value(); println(n);</programlisting></para>
-
-      <para>in order to get the result of ‘false’</para>
-    </section>
-
-    <section id="Operators_on_Boolean_Values">
-      <title>Operators on Boolean Values</title>
-
-      <para><programlisting>xs:boolean(’true’) gt xs:boolean(’false’)</programlisting></para>
-
-      <para>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</para>
-
-      <para><programlisting>boolean n = ((XSBoolean)rs.first()).value(); println(n);</programlisting></para>
-
-      <para>in order to get the result of ‘true’</para>
-    </section>
-
-    <section id="Comparisons_of_Duration.2C_Date_and_Time_Values">
-      <title>Comparisons of Duration, Date and Time Values</title>
-
-      <para><programlisting>xs:time("23:00:00+06:00") lt xs:time("12:00:00-06:00")</programlisting></para>
-
-      <para>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</para>
-
-      <para><programlisting>boolean n = ((XSBoolean)rs.first()).value(); 
-println(n);</programlisting></para>
-
-      <para>in order to get the result of ‘true’</para>
-    </section>
-
-    <section id="Arithmetic_Functions_on_Durations">
-      <title>Arithmetic Functions on Durations</title>
-
-      <para><programlisting>multiply-dayTimeDuration(xs:dayTimeDuration("PT2H10M"), 2.1)</programlisting></para>
-
-      <para>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</para>
-
-      <para><programlisting>String n = ((XDTDayTimeDuration)rs.first()).stringvalue(); 
-println(n);</programlisting></para>
-
-      <para>which returns a xdt:dayTimeDuration value corresponding to 4 hours
-      and 33 minutes ‘PT4H33M’</para>
-    </section>
-
-    <section id="Arithmetic_Functions_Dates_and_Times">
-      <title>Arithmetic Functions Dates and Times</title>
-
-      <para><programlisting>add-yearMonthDuration-to-dateTime( xs:dateTime("2000-10-30T11:12:00"), xdt:yearMonthDuration("P1Y2M"))</programlisting></para>
-
-      <para>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</para>
-
-      <para><programlisting>String n = ((XSDateTime)rs.first()).stringvalue(); 
-println(n);</programlisting></para>
-
-      <para>which returns an xs:dateTime value corresponding to the lexical
-      representation ‘2001-12-30T11:12:00’</para>
-    </section>
-
-    <section id="Operators_Related_to_QNames_And_Nodes">
-      <title>Operators Related to QNames And Nodes</title>
-
-      <para><programlisting>xs:QName(’ao’) eq xs:QName(’ao’)</programlisting></para>
-
-      <para>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</para>
-
-      <para><programlisting>boolean n = ((XSBoolean)rs.first()).value(); 
-println(n);</programlisting></para>
-
-      <para>which returns the result of ‘true’</para>
-    </section>
-
-    <section id="Union.2C_Intersection_and_Except">
-      <title>Union, Intersection and Except</title>
-
-      <para><programlisting>union($seq2, $seq3)</programlisting></para>
-
-      <para>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</para>
-
-      <programlisting>for (Iterator iter = rs.iterator(); iter.hasNext();) {
-  Object item = iter.next();
-  String n = ((XSString)item).stringvalue();
-  print(n + ", ");
-}
-println("");
-</programlisting>
-
-      <para> </para>
-
-      <para>which returns the sequence consisting of $item1, $item2,
-      $item3.</para>
-
-      <para></para>
-    </section>
-
-    <section id="Operators_that_Generate_Sequences">
-      <title>Operators that Generate Sequences</title>
-
-      <para><programlisting>(1 to 3)</programlisting></para>
-
-      <para>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</para>
-
-      <para><programlisting>int n = (XSInteger)rs.first()).stringvalue(); 
-println(n);</programlisting></para>
-
-      <para>which returns the sequence consisting of 1, 2, 3.</para>
-    </section>
-  </chapter>
-</book>
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/book.css b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/book.css
deleted file mode 100644
index f4c35e7..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/book.css
+++ /dev/null
@@ -1,222 +0,0 @@
-p.Code {
-	display: block;
-	text-align: left;
-	text-indent: 0.00pt;
-	margin-top: 0.000000pt;
-	margin-bottom: 0.000000pt;
-	margin-right: 0.000000pt;
-	margin-left: 15pt;
-	font-weight: normal;
-	font-style: normal;
-	color: #4444CC;
-	text-decoration: none;
-	vertical-align: baseline;
-	text-transform: none;
-	font-family: "Courier New", Courier, monospace;
-}
-
-H6.CaptionFigColumn {
-	display: block;
-	text-align: left;
-	text-indent: 0.000000pt;
-	margin-top: 3.000000pt;
-	margin-bottom: 11.000000pt;
-	margin-right: 0.000000pt;
-	margin-left: 0.000000pt;
-	font-size: 75%;
-	font-weight: bold;
-	font-style: Italic;
-	color: #000000;
-	text-decoration: none;
-	vertical-align: baseline;
-	text-transform: none;
-}
-
-p.Note {
-	display: block;
-	text-align: left;
-	text-indent: 0pt;
-	margin-top: 19.500000pt;
-	margin-bottom: 19.500000pt;
-	margin-right: 0.000000pt;
-	margin-left: 30pt;
-	font-size: 110%;
-	font-weight: normal;
-	font-style: Italic;
-	color: #000000;
-	text-decoration: none;
-	vertical-align: baseline;
-	text-transform: none;
-}
-
-EM.UILabel {
-	font-weight: Bold;
-	font-style: normal;
-	text-decoration: none;
-	vertical-align: baseline;
-	text-transform: none;
-}
-
-EM.CodeName {
-	font-weight: Bold;
-	font-style: normal;
-	text-decoration: none;
-	vertical-align: baseline;
-	text-transform: none;
-	font-family: "Courier New", Courier, monospace;
-}
-
-UL.NavList {
-	margin-left: 1.5em;
-	padding-left: 0px;
-	list-style-type: none;
-}
-
-body,html {
-	border: 0px
-}
-
-/* following font face declarations need to be removed for DBCS */
-body,h1,h2,h3,h4,h5,h6,p,table,td,caption,th,ul,ol,dl,li,dd,dt {
-	font-family: Arial, Helvetica, sans-serif;
-	color: #000000
-}
-
-pre,code {
-	font-family: "Courier New", Courier, monospace;
-}
-
-/* end font face declarations */
-@media print {
-	html {
-		font-size: 12pt
-	}
-}
-
-body {
-	font-size: 83%;
-	background: #FFFFFF;
-	margin-bottom: 1em
-}
-
-h1 {
-	font-size: 180%;
-	margin-top: 5px;
-	margin-bottom: 1px
-}
-
-h2 {
-	font-size: 140%;
-	margin-top: 25px;
-	margin-bottom: 3px
-}
-
-h3 {
-	font-size: 110%;
-	margin-top: 20px;
-	margin-bottom: 3px
-}
-
-h4 {
-	font-size: 100%;
-	margin-top: 20px;
-	margin-bottom: 3px;
-	font-style: italic
-}
-
-p {
-	margin-top: 10px;
-	margin-bottom: 10px
-}
-
-pre {
-	font-size: 93%;
-	margin-left: 6;
-	color: #4444CC
-}
-
-code {
-	font-size: 93%;
-}
-
-table {
-	font-size: 100%
-}  /* needed for quirks mode */
-a:link {
-	color: #0000FF
-}
-
-a:hover {
-	color: #000080
-}
-
-a:visited {
-	text-decoration: underline
-}
-
-ul {
-	margin-top: 10px;
-	margin-bottom: 10px;
-}
-
-li {
-	margin-top: 5px;
-	margin-bottom: 5px;
-}
-
-li p {
-	margin-top: 5px;
-	margin-bottom: 5px;
-}
-
-ol {
-	margin-top: 10px;
-	margin-bottom: 10px;
-}
-
-dl {
-	margin-top: 10px;
-	margin-bottom: 10px;
-}
-
-dt {
-	margin-top: 5px;
-	margin-bottom: 5px;
-	font-weight: bold;
-}
-
-dd {
-	margin-top: 5px;
-	margin-bottom: 5px;
-}
-
-strong {
-	font-weight: bold
-}
-
-em {
-	font-style: italic
-}
-
-var {
-	font-style: italic
-}
-
-div.revision {
-	border-left-style: solid;
-	border-left-width: thin;
-	border-left-color: #7B68EE;
-	padding-left: 5;
-}
-
-th {
-	font-weight: bold;
-}
-
-pre.programlisting {
-	background-color: silver;
-	border: thin;
-	border-style: dashed;
-	color: black;
-	padding-left: 5;
-}
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch01.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch01.html
deleted file mode 100644
index 3435cf1..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch01.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Introduction</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="prev" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="next" href="ch02.html" title="Using PsychoPath XPath 2.0 API"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="Introduction"></a>Introduction</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><ul><li><span class="section"><a href="ch01.html#Getting_PsychoPath">Getting PsychoPath</a></span></li></ul></div><p>What is PsychohPath? PsychoPath is a XPath 2.0 XML Schema Aware
-    processor. It is nearly fully compliant to the XPath 2.0 test suite. It is
-    a library that does not require eclipse to be used. Known adopters of
-    PsychoPath include the Xerces-J project for XML Schemas 1.1 assertion
-    support.</p><p>PsychoPath is the only known open-source java XPath 2.0 processor
-    that is fully schema aware. SAXON HE only supports the core functionality.
-    XML Schema awarness provides tighter static checking, and can be used to
-    help determine if certain operations can or should occur on an XML node.
-    For a detailed description of the PsychoPath's design please see the
-    <a class="ulink" href="/PsychoPathXPathProcessor/Design" target="_top">design</a>
-    document.</p><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Getting_PsychoPath"></a>Getting PsychoPath</h2></div></div></div><p>Currently there is no standalone build of PsychoPath. However, you
-      can download the <a class="ulink" href="http://download.eclipse.org/webtools/downloads/drops/R3.1/R-3.1-20090616035105/" target="_top">WTP
-      WST 3.1</a> zip file, and use the
-      org.eclipse.wst.xml.xpath2.processor.jar file. This jar has no
-      dependencies on eclipse, and will work as a standard jar file. If you
-      are using an OSGI container, then this is treated as a standard OSGI
-      bundle.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">PsychoPath 1.1M1</h3><p>PsychoPath 1.1M1 is also available to <a class="ulink" href="http://download.eclipse.org/webtools/downloads/drops/R3.2/S-3.2M1b-20090814143519/" target="_top">download</a>.
-        1.1M1 passes 96% of the XPath 2.0 test suite.</p></div><p>Additional dependencies you currently need are:</p><div class="itemizedlist"><ul type="disc"><li><p>IBM ICU 4.0 or greater</p></li><li><p>Xerces 2.8.0 or greater</p></li><li><p>JavaCup 0.10 or greater.</p></li></ul></div><p>If using eclipse, these are all available from the Orbit project.
-      Others can find the necessary jars from their respective project
-      pages.</p></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02.html
deleted file mode 100644
index 7f1ac76..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Using PsychoPath XPath 2.0 API</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="prev" href="ch01.html" title="Introduction"><link rel="next" href="ch02s02.html" title="Schema Aware"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="How_to_feed_Psychopath_XPath_expressions"></a>Using PsychoPath XPath 2.0 API</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><ul><li><span class="section"><a href="ch02.html#Non-Schema_Aware">Non-Schema Aware</a></span></li><li><span class="section"><a href="ch02s02.html">Schema Aware</a></span></li><li><span class="section"><a href="ch02s03.html">How to use the XPath 2.0 grammar with PsychoPath</a></span><ul><li><span class="section"><a href="ch02s03.html#Constants">Constants</a></span></li><li><span class="section"><a href="ch02s03s02.html">Path expressions</a></span></li><li><span class="section"><a href="ch02s03s03.html">Axis steps</a></span></li><li><span class="section"><a href="ch02s03s04.html">Set difference, intersection and Union</a></span></li><li><span class="section"><a href="ch02s03s05.html">Arithmetic Expressions</a></span><ul><li><span class="section"><a href="ch02s03s05.html#Unary">Unary</a></span></li><li><span class="section"><a href="ch02s03s05s02.html">Multiplication and Division:</a></span></li><li><span class="section"><a href="ch02s03s05s03.html">Addition and Subtraction:</a></span></li></ul></li><li><span class="section"><a href="ch02s03s06.html">Range expressions</a></span></li><li><span class="section"><a href="ch02s03s07.html">Comparisons</a></span></li><li><span class="section"><a href="ch02s03s08.html">Conditional Expressions</a></span></li><li><span class="section"><a href="ch02s03s09.html">Quantified Expressions</a></span></li><li><span class="section"><a href="ch02s03s10.html">And, Or Expressions</a></span></li><li><span class="section"><a href="ch02s03s11.html">SequenceType Matching Expressions</a></span></li></ul></li></ul></div><p>Since PsychoPath has been implemented as an external library and not
-    as a complete program, in order to use it, it needs to be accessed from
-    inside another program. To process XPath 2.0 expressions using PsychoPath
-    from another programs one needs to go through the following
-    process:</p><div class="orderedlist"><ol type="1"><li><p>Load the XML document</p></li><li><p>Optionally validate the XML document</p></li><li><p>Initialize static and dynamic context in respect to the document
-        root</p></li><li><p>Parse the XPath 2.0 expression</p></li><li><p>Statically verify the XPath 2.0 expression</p></li><li><p>Evaluate the XPath 2.0 expression in respect to the XML
-        document</p></li></ol></div><p>To give a better idea of how this process actually works, we&rsquo;ll go
-    through an example of processing and evaluating the string expression
-    &ldquo;Hello World!&rdquo;. In this example the XML document that we load is called
-    &ldquo;XPexample.xml&rdquo;.</p><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Non-Schema_Aware"></a>Non-Schema Aware</h2></div></div></div><pre class="programlisting">/**
- * First load and optionally validate the XML document 
-*/
-// Create an InputStream from the XML document
-InputStream is = new FileInputStream(&ldquo;XPexample.xml&rdquo;);
-
-// Initializing the Xerces DOM loader.
-DOMLoader loader = new XercesLoader();
-
-// Optionally set flag to validate XML document loader.setvalidating(validate);
-// Loads the XML document and stores the DOM root
-Document doc = loader.load(is);
-
-/**
- * Dynamic contexts must be initialised to defaults
- * dependent on the XML Schema.
-*/
-
-// Extracting the schema from DOM root of Xpexpression.xml.
-ElementPSVI rootPSVI = (ElementPSVI)doc.getDocumentElement();
-XSModel schema = rootPSVI.getSchemaInformation();
-
-// Initialising the DynamicContext.
-DynamicContext dc = new DefaultDynamicContext(schema, doc);
-
-// Register the namespaces of the XPath 2.0 predefined datatypes
-dc.addnamespace(&ldquo;xs&rdquo;,&rdquo;[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]&rdquo;);
-
-// Register the XPath 2.0 standard functions
-dc.addfunctionlibrary(new FnFunctionLibrary());
-dc.addfunctionlibrary(new XSCtrLibrary());
-
-/**
- * Parsing the XPath 2.0 expression into an AST representation
- */
-// Initialises PsychoPath&rsquo;s supplied parser.
-XPathParser xpp = new JflexCupParser();
-
-// Parses the XPath expression.
-XPath xp = xpp.parse(xpath);
-/**
- * Static check the AST to verift structural validity of  
- * XPath 2.0 expression
- */
-
-// Initializing StaticChecker.
-StaticChecker namecheck = new StaticNameResolver(sc);
-
-// Static Checking the Xpath expression &rsquo;Hello World!&rsquo; namecheck.check(xp);
-/**
- * Evaluate the XPath 2.0 expression
- */
- 
-// Initializing the evaluator with DynamicContext and the name
-// of the XML document XPexample.xml as parameters.
-Evaluator eval = new DefaultEvaluator(dc, doc);
- 
-// Evaluates the XPath 2.0 expression, storing the result
-// in the ResultSequence
-ResultSequence rs = eval.evaluate(xp); 
-</pre></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s02.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s02.html
deleted file mode 100644
index 19a87cf..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s02.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Schema Aware</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02.html" title="Using PsychoPath XPath 2.0 API"><link rel="prev" href="ch02.html" title="Using PsychoPath XPath 2.0 API"><link rel="next" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Schema_Aware"></a>Schema Aware</h2></div></div></div><p></p><pre class="programlisting">/**
- * First load and optionally validate the XML document 
-*/
-
- SchemaFactory schemaFactory = new XMLSchemaFactory();
- URL schemaURL = new File("XPexample.xsd").toURL();
- Schema jaxpschema = schemaFactory.newSchema(schemaURL);
-
-// Create an InputStream from the XML document
-InputStream is = new FileInputStream(&ldquo;XPexample.xml&rdquo;);
-
-// Initializing the Xerces DOM loader.
-DOMLoader loader = new XercesLoader(jaxpschema);
-
-// Optionally set flag to validate XML document loader.setvalidating(validate);
-// Loads the XML document and stores the DOM root
-Document doc = loader.load(is);
-
-/**
- * Dynamic contexts must be initialised to defaults
- * dependent on the XML Schema.
-*/
-
-// Initialising the DynamicContext.
-DynamicContext dc = new DefaultDynamicContext(jaxpschema, doc);
-
-// Register the namespaces of the XPath 2.0 predefined datatypes
-dc.addnamespace(&ldquo;xs&rdquo;,&rdquo;[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]&rdquo;);
-
-// Register the XPath 2.0 standard functions
-dc.addfunctionlibrary(new FnFunctionLibrary());
-dc.addfunctionlibrary(new XSCtrLibrary());
-
-/**
- * Parsing the XPath 2.0 expression into an AST representation
- */
-// Initialises PsychoPath&rsquo;s supplied parser.
-XPathParser xpp = new JflexCupParser();
-
-// Parses the XPath expression.
-XPath xp = xpp.parse(xpath);
-
-/**
- * Static check the AST to verift structural validity of  
- * XPath 2.0 expression
- */
-
-// Initilising StaticChecker.
-StaticChecker namecheck = new StaticNameResolver(sc);
-
-// Static Checking the Xpath expression &rsquo;Hello World!&rsquo; namecheck.check(xp);
-/**
- * Evaluate the XPath 2.0 expression
- */
-
-// Initialising the evaluator with DynamicContext and the name
-// of the XML document XPexample.xml as parameters.
-Evaluator eval = new DefaultEvaluator(dc, doc); 
-
-// Evaluates the XPath 2.0 expression, storing the result
-// in the ResultSequence
-ResultSequence rs = eval.evaluate(xp); 
-</pre><p>XPath 2.0 defines everything to be a sequence of items, including
-      the arguments to expressions and the result of operations. Thus, the
-      overall result of an XPath expression evaluation is also a sequence of
-      items. PsychoPath uses the class ResultSequence as a Collections wrapper
-      to store these sequences and therefore, the result of an evaluation is
-      of this type also. The ResultSequence consists of zero or more items; an
-      item may be a node or a simple-value. &ldquo;Hello World!&rdquo; is an example of a
-      single value with length 1. A general sequence could be written as (&ldquo;a&rdquo;,
-      &ldquo;s&rdquo;, &ldquo;d&rdquo;, &ldquo;f&rdquo;).</p><p>Extraction of certain items from the ResultSequence class is
-      described below, with details of the different operations that one might
-      apply on the ResultSequence. Consider that &rsquo;rs&rsquo; is the ResultSequence,
-      then:</p><p></p><pre class="programlisting">// Will return the number of elements in the sequence, in this
-// case of &rsquo;Hello World!&rsquo; expression size = 1.
-rs.size(); 
-
-// Will return the n&rsquo;th element in the sequence, in this case of
-// &rsquo;Hello World!&rsquo;, if n = 1, then it will return
-// XSString of &ldquo;Hello World!&rdquo;, but if n = 2, it will return
-// Empty Result.
-rs.get(n);
-
-//Will return true if the sequence is empty.
-rs.empty(); 
-
-// Will return the first element of the sequence, 
-// in this example it will return XSString of &ldquo;Hello World!&rdquo; 
-rs.first() 
-</pre><p>However, all the items extracted will be of the type&rsquo;s base class
-      AnyType and need to be casted into its actual subtype.</p><p>Certain operations always return a particular type and using this
-      knowledge, the extracted item can be immediately casted. In our example
-      &ldquo;Hello World!&rdquo; returns a string (easily known as it is inside the quotes
-      &rsquo; &rsquo; ), so this can safely be casted as such:</p><p><pre class="programlisting">XSString xsstring = XSString)(rs.first());</pre>The
-      actual result can now be extracted from this XSString in the following
-      manner: <pre class="programlisting">String str = xsstring.value();</pre></p><p>The details of how to cast extracted items from AnyType into their
-      actual subtypes with examples is in the next section on How to use each
-      production in the grammar.</p><p>However, if the expected return type is unknown or multiple types
-      are possible, the types hierarchy can be traversed in a breadth first
-      manner making use of the Java instanceof operator to ascertain the
-      actual type.&nbsp;</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03.html
deleted file mode 100644
index cba921f..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>How to use the XPath 2.0 grammar with PsychoPath</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02.html" title="Using PsychoPath XPath 2.0 API"><link rel="prev" href="ch02s02.html" title="Schema Aware"><link rel="next" href="ch02s03s02.html" title="Path expressions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="How_to_use_the_XPath_2.0_grammar_with_PsychoPath"></a>How to use the XPath 2.0 grammar with PsychoPath</h2></div></div></div><p>In this section we will try to give you an overview of the XPath
-      2.0 grammar in general and how each production in the grammar should be
-      used with PsychoPath. For the formal specifications, see the W3C
-      web-site for XPath 2.0 specification <a class="ulink" href="http://www.w3.org/TR/xpath20" target="_top">http://www.w3.org/TR/xpath20</a>.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Constants"></a>Constants</h3></div></div></div><p>String literals are written as &ldquo;Hello&rdquo; or &lsquo;Hello&rsquo;. In each case
-        the opposite kind of quotation mark can be used within the string: &lsquo;He
-        said &ldquo;Hello&rdquo; &rsquo; or &ldquo;London is a big city&rdquo;. To feed PsychoPath, &ldquo; &lsquo;Hello
-        World!&rsquo; &rdquo;or &ldquo; &ldquo;Hello World!&rdquo; &rdquo; can be used to feed it with strings.
-        Remember that the ResultSequence returns AnyType so since a string is
-        being expected as the result, first it has to be casted in the code
-        like this: <pre class="programlisting">XSString xsstring = (XSString)(rs.first());</pre>
-        Numeric constants follow the Java rules for decimal literals: for
-        example, 4 or 4.67; a negative number can be written as -3.05. The
-        numeric literal is taken as a double precision floating point number
-        if it uses scientific notation (e.g. 1.0e7), as a fixed point decimal
-        if it includes a decimal point, or as an integer otherwise. When
-        extracting number literals from the ResultSequence, possible types to
-        be returned include <span class="italic">XSDecima''l (e.g.&nbsp;:
-        xs:decimal: 4.67),''XSInteger ''(e.g.&nbsp;: xs:integer: 4) or
-        ''XSDouble</span> (e.g.&nbsp;: xs:double 1e0). All of which need to be
-        cast in the same manner as stated before: from AnyType to their
-        corresponding types.</p><p>There are no boolean constants as such: <span class="italic">true, false</span> instead the function calls
-        <span class="bold"><strong>true()</strong></span> and <span class="bold"><strong>false()</strong></span> are used.</p><p>Constants of other data types can be written using constructors.
-        These look like function calls but require a string literal as their
-        argument. For example, <span class="bold"><strong>xs:float(&ldquo;10.7&rdquo;)</strong></span> produces a single-precision
-        floating point number.</p></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s02.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s02.html
deleted file mode 100644
index a5ad00c..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s02.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Path expressions</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="prev" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="next" href="ch02s03s03.html" title="Axis steps"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Path_expressions"></a>Path expressions</h3></div></div></div><p>A path expression is a sequence of steps separated by the
-        <span class="bold"><strong>/''' or '''//</strong></span> operator. For example,
-        <span class="bold"><strong>../@desc</strong></span> selects the desc attribute
-        of the parent of the context node.</p><p>In XPath 2.0, path expressions have been generalized so that any
-        expression can be used as an operand of <span class="bold"><strong>/</strong></span>, (both on the left and the right), as long as
-        its value is a sequence of nodes. For example, it is possible to use a
-        union expression (in parentheses) or a call to the id()
-        function.</p><p>In practice, it only makes sense to use expressions on the right
-        of <span class="bold"><strong>"/"</strong></span> if they depend on the context
-        item. It is legal to write $x/$y provided both $x and $y are sequences
-        of nodes, but the result is exactly the same as writing <span class="bold"><strong> <span class="italic">./$y</span>
-        </strong></span>.</p><p>Note that the expressions <span class="bold"><strong>./$X</strong></span>
-        or <span class="bold"><strong>$X/.</strong></span> can be used to remove
-        duplicates from <span class="bold"><strong>$X</strong></span> and sort the
-        results into document order.</p><p>The operator <span class="bold"><strong>//</strong></span> is an
-        abbreviation for <span class="bold"><strong>/descendant-or-self::node()</strong></span>. An expression of
-        the form <span class="bold"><strong>/E</strong></span> is shorthand for
-        <span class="bold"><strong>root(.)/E</strong></span>, and the expression
-        <span class="bold"><strong>/''' on its own is shorthand for
-        '''root(.)</strong></span>.</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s03.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s03.html
deleted file mode 100644
index b86638b..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s03.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Axis steps</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="prev" href="ch02s03s02.html" title="Path expressions"><link rel="next" href="ch02s03s04.html" title="Set difference, intersection and Union"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Axis_steps"></a>Axis steps</h3></div></div></div><p>The basic primitive for accessing a source document is the axis
-        step. Axis steps may be combined into path expressions using the path
-        operators "/" and "//", and they may be filtered using filter
-        expressions in the same way as the result of any other
-        expression.</p><p>An axis step has the basic form axis::node-test, and selects
-        nodes on a given axis that satisfy the node-test. The axes available
-        are:</p><div class="orderedlist"><ol type="1"><li><p>element: age</p></li><li><p>element: age</p></li></ol></div><p>The rest of the axes act in the same manner.</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s04.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s04.html
deleted file mode 100644
index 9a0198f..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s04.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Set difference, intersection and Union</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="prev" href="ch02s03s03.html" title="Axis steps"><link rel="next" href="ch02s03s05.html" title="Arithmetic Expressions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Set_difference.2C_intersection_and_Union"></a>Set difference, intersection and Union</h3></div></div></div><p>The expression E1 except E2 selects all nodes that are in E1
-        unless they are also in E2. Both expressions must return sequences of
-        nodes. The results are returned in document order. For example, @*
-        except @note returns all attributes except the note attribute. The
-        expression E1 intersect E2 selects all nodes that are in both E1 and
-        E2. Both expressions must return sequences of nodes. The results are
-        returned in document order. The expression E1 union E2 selects all
-        nodes that are in either E1 or E2 or both. Both expressions must
-        return sequences of nodes. The results are returned in document order.
-        A complete example of the above expression would be as follows.
-        Consider an XML document which looks like this:</p><pre class="programlisting">&lt;nodes&gt;
-  &lt;a&gt;
-    &lt;connecteda&gt;A&lt;/connecteda&gt;
-    &lt;connecteda&gt;B&lt;/connecteda&gt;
-    &lt;connecteda&gt;C&lt;/connecteda&gt;
-  &lt;/a&gt;
-  &lt;b&gt;
-    &lt;connectedb&gt;B&lt;/connectedb&gt;
-    &lt;connectedb&gt;C&lt;/connectedb&gt;
-    &lt;connectedb&gt;D&lt;/connectedb&gt;
-  &lt;/b&gt;
-&lt;/nodes&gt;
-</pre><p>Then an example of each of the expressions would be:</p><p><pre class="programlisting">data(/a/*) union data(/b/*)</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:string: A</p></li><li><p>xs:string: B</p></li><li><p>xs:string: C</p></li><li><p>xs:string: D</p></li></ol></div><p><pre class="programlisting">data(/a/*) intersect data(/b/*)</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:string: B</p></li><li><p>xs:string: C</p></li></ol></div><p><pre class="programlisting">data(/a/*) except data(/b/*)</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:string: D</p></li></ol></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s05.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s05.html
deleted file mode 100644
index 56c1276..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s05.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Arithmetic Expressions</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="prev" href="ch02s03s04.html" title="Set difference, intersection and Union"><link rel="next" href="ch02s03s05s02.html" title="Multiplication and Division:"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Arithmetic_Expressions"></a>Arithmetic Expressions</h3></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="Unary"></a>Unary</h4></div></div></div><p>minus and plus: The unary minus operator changes the sign of a
-          number. For example -1 is minus one, and -1e0 is the double value
-          negative -1.</p></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s05s02.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s05s02.html
deleted file mode 100644
index 74f1c81..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s05s02.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Multiplication and Division:</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03s05.html" title="Arithmetic Expressions"><link rel="prev" href="ch02s03s05.html" title="Arithmetic Expressions"><link rel="next" href="ch02s03s05s03.html" title="Addition and Subtraction:"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="Multiplication_and_Division:"></a>Multiplication and Division:</h4></div></div></div><p>The operator * multiplies two numbers. If the operands are of
-          different types, XPath 2.0 specifications say that one of them is
-          promoted to the type of the other.&nbsp;The result is the same type as
-          the operands after promotion.</p><p>The operator div divides two numbers. Dividing two integers
-          produces a double; in other cases the result is the same type as the
-          operands.</p><p>The operator idiv performs integer division. For example, the
-          result of 10 idiv 3 is 3.</p><p>The mod operator returns the modulus (or remainder) after
-          division.</p><p>The operators * and div may also be used to multiply or divide
-          a range by a number.</p><p>For example, <span class="italic">(1 idiv 1 to
-          3)</span> returns the result: <span class="italic">xs:integer: 1, xs:integer: 2, xs:integer:
-          3</span></p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s05s03.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s05s03.html
deleted file mode 100644
index 0434e26..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s05s03.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Addition and Subtraction:</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03s05.html" title="Arithmetic Expressions"><link rel="prev" href="ch02s03s05s02.html" title="Multiplication and Division:"><link rel="next" href="ch02s03s06.html" title="Range expressions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="Addition_and_Subtraction:"></a>Addition and Subtraction:</h4></div></div></div><p>The operators <span class="bold"><strong>+</strong></span> and <span class="italic">'-'</span> perform addition and subtraction of
-          numbers, in the usual way. Once again, if the operands are of
-          different types, XPath 2.0 specifications say one of them is
-          promoted but numeric type promotion is currently unsupported by
-          PsychoPath. The result is of the same type as the operands.</p><p>Examples of above would be:</p><p><pre class="programlisting"> -(5 + 7)</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:integer: -12</p></li></ol></div><p><pre class="programlisting">-xs:float(&rsquo;1.23&rsquo;)</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:float: -1.23</p></li></ol></div><p><pre class="programlisting">-xs:double(&rsquo;1.23&rsquo;)</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:double: -1.23</p></li></ol></div><p><pre class="programlisting">(+5 - +7)</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:integer: -2</p></li></ol></div><p><pre class="programlisting">(1 to 5 div 0 )</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="itemizedlist"><ul type="disc"><li><p>FAIL (division by zero!)</p></li></ul></div><p><pre class="programlisting">5*6*10*5*96 div 20 div 3 div 1</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:decimal: 2400.0</p></li></ol></div><p><pre class="programlisting">31 mod 15</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:integer: 1</p></li></ol></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s06.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s06.html
deleted file mode 100644
index 325296e..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s06.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Range expressions</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="prev" href="ch02s03s05s03.html" title="Addition and Subtraction:"><link rel="next" href="ch02s03s07.html" title="Comparisons"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Range_expressions"></a>Range expressions</h3></div></div></div><p>The expression E1 to E2 returns a sequence of integers. For
-        example, 1 to 5 returns the sequence 1, 2, 3, 4, 5. This is useful in
-        for expressions, for example the first five nodes of a node sequence
-        can be processed by writing for $i in 1 to 5 return (//x) <a class="ulink" href="$i" target="_top">$i</a>. Another example:</p><p><pre class="programlisting">(1+1 to 10)</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:integer: 2</p></li><li><p>xs:integer: 3</p></li><li><p>xs:integer: 4</p></li><li><p>xs:integer: 5</p></li><li><p>xs:integer: 6</p></li><li><p>xs:integer: 7</p></li><li><p>xs:integer: 8</p></li><li><p>xs:integer: 9</p></li><li><p>xs:integer: 10</p></li></ol></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s07.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s07.html
deleted file mode 100644
index b9f6dd2..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s07.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Comparisons</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="prev" href="ch02s03s06.html" title="Range expressions"><link rel="next" href="ch02s03s08.html" title="Conditional Expressions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Comparisons"></a>Comparisons</h3></div></div></div><p>The simplest comparison operators are <span class="bold"><strong>eq</strong></span>, <span class="bold"><strong>ne</strong></span>,
-        <span class="bold"><strong>lt</strong></span>, <span class="bold"><strong>le</strong></span>, <span class="bold"><strong>gt</strong></span>,
-        <span class="bold"><strong>ge</strong></span>. These compare two atomic values
-        of the same type, for example two integers, two dates, or two strings.
-        (Collation hasn&rsquo;t been implemented in current version of PsychoPath).
-        If the operands are not atomic values, an error is raised.</p><p>The operators <span class="bold"><strong>=''',&nbsp;</strong></span>!='
-        <span class="italic">, '</span>&lt;=' <span class="italic">,
-        '</span>&gt; <span class="bold"><strong>, '''&lt;</strong></span>, and
-        <span class="bold"><strong>&gt;=</strong></span> can compare arbitrary
-        sequences. The result is true if any pair of items from the two
-        sequences has the specified relationship, for example <span class="italic">$A = $B</span> is true if there is an item in
-        <span class="italic">$A</span> that is equal to some item in
-        <span class="italic">$B</span>.</p><p>The operators <span class="bold"><strong>is</strong></span> and <span class="bold"><strong>isnot</strong></span> test whether the operands represent the
-        same (identical) node. For example, <span class="italic">title
-        <a class="ulink" href="1" target="_top">1</a> is * <a class="ulink" href="@note" target="_top">@note</a> <a class="ulink" href="1" target="_top">1</a> </span> is true if the first title child is the
-        first child element that has a <span class="italic">@note</span> attribute. If either operand is an
-        empty sequence the result is an empty sequence (which will usually be
-        treated as false).</p><p>The operators <span class="bold"><strong>&lt;&lt;</strong></span> and
-        <span class="bold"><strong>&gt;&gt;</strong></span> test whether one node
-        precedes or follows another in document order. Consider this XML
-        document:</p><pre class="programlisting">&lt;book&gt;
- &lt;title&gt;Being a Dog Is a Full-Time Job&lt;/title&gt;
- &lt;author&gt;Charles M. Schulz&lt;/author&gt;
- &lt;character&gt;
-   &lt;name&gt;Snoopy&lt;/name&gt;
-   &lt;friend-of&gt;Peppermint Patty&lt;/friend-of&gt;
-   &lt;since&gt;1950-10-04&lt;/since&gt;
-   &lt;age&gt;2&lt;/age&gt;
-   &lt;qualification&gt;extroverted beagle&lt;/qualification&gt;
- &lt;/character&gt;
- &lt;character&gt;
-   &lt;name&gt;Peppermint Patty&lt;/name&gt;
-   &lt;since&gt;1966-08-22&gt;/since&gt;
-   &lt;age&gt;4&lt;/age&gt;
-   &lt;qualification&gt;bold, brash and tomboyish&lt;/qualification&gt;
- &lt;/character&gt;
-&lt;/book&gt;
-</pre><p>Example:</p><p><pre class="programlisting">book/character name="Snoopy" &lt;&lt; book/character Patty" </pre></p><p><span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:boolean: true</p></li></ol></div><p>book/character <a class="ulink" href="name=%22Peppermint" target="_top">Patty"</a>
-        &lt;&lt; book/character <a class="ulink" href="name=%22Snoopy%22" target="_top">name="Snoopy"</a> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:boolean: false</p></li></ol></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s08.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s08.html
deleted file mode 100644
index 788fefc..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s08.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Conditional Expressions</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="prev" href="ch02s03s07.html" title="Comparisons"><link rel="next" href="ch02s03s09.html" title="Quantified Expressions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Conditional_Expressions"></a>Conditional Expressions</h3></div></div></div><p>XPath 2.0 allows a conditional expression of the form <span class="italic">if ( E1 ) then E2 else E3</span>. For example,
-        <span class="italic">if (@discount) then @discount else
-        0</span> returns the value of the discount attribute if it is
-        present, or zero otherwise.</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s09.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s09.html
deleted file mode 100644
index 4d0e877..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s09.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Quantified Expressions</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="prev" href="ch02s03s08.html" title="Conditional Expressions"><link rel="next" href="ch02s03s10.html" title="And, Or Expressions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Quantified_Expressions"></a>Quantified Expressions</h3></div></div></div><p>The expression <span class="italic">some $x in E1 satisfies
-        E2</span> returns true if there is an item in the sequence E1 for
-        which the effective boolean value of E2 is true. Note that E2 must use
-        the range variable <span class="italic">$x</span> to refer to
-        the item being tested; it does not become the context item. For
-        example, <span class="italic">some $x in @* satisfies $x eq
-        ""</span> is true if the context item is an element that has at
-        least one zero-length attribute value.</p><p>Similarly, the expression <span class="italic">every $x in E1
-        satisfies E2</span> returns true if every item in the sequence
-        given by E1 satisfies the condition.</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s10.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s10.html
deleted file mode 100644
index ce4ff84..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s10.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>And, Or Expressions</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="prev" href="ch02s03s09.html" title="Quantified Expressions"><link rel="next" href="ch02s03s11.html" title="SequenceType Matching Expressions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="And.2C_Or_Expressions"></a>And, Or Expressions</h3></div></div></div><p>The expression <span class="italic">E1 and E2</span>
-        returns true if the effective boolean values of E1 and E2 are both
-        true. The expression <span class="italic">E1 or E2</span>
-        returns true if the effective boolean values of either or both of E1
-        and E2 are true.</p><p><pre class="programlisting"> (for a truth table) 1 and 1</pre></p><p><span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:boolean: true</p></li></ol></div><p><pre class="programlisting">1 and 0</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:boolean: false</p></li></ol></div><p><pre class="programlisting">1 or 0</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:boolean: true</p></li></ol></div><p><pre class="programlisting">0 or 1</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:boolean: true</p></li></ol></div><p></p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s11.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s11.html
deleted file mode 100644
index 9385c68..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s11.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>SequenceType Matching Expressions</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="prev" href="ch02s03s10.html" title="And, Or Expressions"><link rel="next" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="SequenceType_Matching_Expressions"></a>SequenceType Matching Expressions</h3></div></div></div><p>The rules for SequenceType matching compare the actual type of a
-        value with an expected type. These rules are a subset of the formal
-        rules that match a value with an expected type defined in XQuery 1.0
-        and XPath 2.0 Formal Semantics <a class="ulink" href="http://www.w3.org/TR/xpath20/#XQueryFormalSemantics" target="_top">http://www.w3.org/TR/xpath20/#XQueryFormalSemantics</a>,
-        because the Formal Semantics must be able to match a value with any
-        XML Schema type, whereas the rules below only match values against
-        those types expressible by the SequenceType syntax.</p><p>Some of the rules for SequenceType matching require determining
-        whether a given type name is the same as or derived from an expected
-        type name. The given type name may be "known" (defined in the in-scope
-        schema definitions), or "unknown" (not defined in the in-scope schema
-        definitions). An unknown type name might be encountered, for example,
-        if a source document has been validated using a schema that was not
-        imported into the static context. In this case, an implementation is
-        allowed (but is not required) to provide an implementation-dependent
-        mechanism for determining whether the unknown type name is derived
-        from the expected type name. For example, an implementation might
-        maintain a data dictionary containing information about type
-        hierarchies. consider the following XML document:</p><pre class="programlisting">&lt;sorbo&gt;
- &lt;is&gt;elite&lt;/is&gt;
- &lt;!-- life sux --&gt;
-&lt;/sorbo&gt;
-</pre><p>Then, the following are some example of SequenceType
-        matchings:</p><p><pre class="programlisting"> element({*})</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>element: sorbo</p></li></ol></div><p><pre class="programlisting">element(elite)</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>Empty results</p></li></ol></div><p><pre class="programlisting">sorbo/comment()</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>comment: life sux</p></li></ol></div><p><pre class="programlisting">data(/sorbo/comment())</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:string: life sux</p></li></ol></div><p><pre class="programlisting">sorbo/node()</pre></p><p><span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>text:</p></li><li><p>element: is</p></li><li><p>comment: life sux</p></li><li><p>text:</p></li></ol></div><p></p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03.html
deleted file mode 100644
index 37ac396..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>How to use XPath 2.0 functions with PsychoPath</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="prev" href="ch02s03s11.html" title="SequenceType Matching Expressions"><link rel="next" href="ch03s02.html" title="Constructor Functions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="How_to_use_XPath_2.0_functions_with_PsychoPath"></a>How to use XPath 2.0 functions with PsychoPath</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><ul><li><span class="section"><a href="ch03.html#Accessors">Accessors</a></span></li><li><span class="section"><a href="ch03s02.html">Constructor Functions</a></span></li><li><span class="section"><a href="ch03s03.html">Functions on Numeric Values</a></span></li><li><span class="section"><a href="ch03s04.html">Functions to Assemble and Disassemble Strings</a></span></li><li><span class="section"><a href="ch03s05.html">Compare and Other Functions on String Values</a></span></li><li><span class="section"><a href="ch03s06.html">Functions Based on Substring Matching</a></span></li><li><span class="section"><a href="ch03s07.html">String Functions that Use Pattern Matching</a></span></li><li><span class="section"><a href="ch03s08.html">Functions on Boolean Values</a></span></li><li><span class="section"><a href="ch03s09.html">Component Extraction Functions on Durations, Dates and
-      Times</a></span></li><li><span class="section"><a href="ch03s10.html">Functions Related to QNames</a></span></li><li><span class="section"><a href="ch03s11.html">Functions on Nodes</a></span><ul><li><span class="section"><a href="ch03s11.html#General_Functions_on_Sequences">General Functions on Sequences</a></span></li><li><span class="section"><a href="ch03s11s02.html">Functions That Test the Cardinality of Sequences</a></span></li><li><span class="section"><a href="ch03s11s03.html">Deep-Equal, Aggregate Functions, and Functions that Generate
-        Sequences</a></span></li><li><span class="section"><a href="ch03s11s04.html">Context Functions</a></span></li></ul></li></ul></div><p>The aim of this section is to give the user an overview of the
-    available XPath 2.0 functions that are implemented in PsychoPath. For the
-    formal specifications, see the W3C web-site for XPath 2.0 functions and
-    operators <a class="ulink" href="http://www.w3.org/TR/xpath-functions/" target="_top">http://www.w3.org/TR/xpath-functions/</a>.</p><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Accessors"></a>Accessors</h2></div></div></div><p>In order for PsychoPath to operate on instances of the XPath 2.0
-      data model, the model must expose the properties of the items it
-      contains. It does this by defining a family of accessor functions. These
-      functions are not available to users or applications to call directly.
-      Instead, they are descriptions of the information that an implementation
-      of the model must expose to applications.</p><p>data(&lsquo;string&rsquo;)</p><p>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</p><p><pre class="programlisting">String n = ((XSString)rs.first()).stringvalue();
-println(n);</pre></p><p>In order to get the result of &lsquo;string&rsquo;</p></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s02.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s02.html
deleted file mode 100644
index 04df21f..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s02.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Constructor Functions</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"><link rel="prev" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"><link rel="next" href="ch03s03.html" title="Functions on Numeric Values"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Constructor_Functions"></a>Constructor Functions</h2></div></div></div><p><pre class="programlisting">xs:dateTime("2002-02-01T10:00:00+06:00")</pre></p><p>From within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</p><p><pre class="programlisting">String n = ((XSDateTime)rs.first()).stringvalue(); println(n);</pre></p><p>in order to get the result of &lsquo;2002-02-01T04:00:00Z&rsquo;</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s03.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s03.html
deleted file mode 100644
index c9203ea..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s03.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Functions on Numeric Values</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"><link rel="prev" href="ch03s02.html" title="Constructor Functions"><link rel="next" href="ch03s04.html" title="Functions to Assemble and Disassemble Strings"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Functions_on_Numeric_Values"></a>Functions on Numeric Values</h2></div></div></div><p><pre class="programlisting">ceiling(xs:float(&lsquo;10.4&rsquo;))</pre></p><p>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</p><p><pre class="programlisting">float n = ((XSFloat)rs.first()).floatvalue();
-println(n);</pre></p><p>In order to get the result of &lsquo;11.0&rsquo;</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s04.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s04.html
deleted file mode 100644
index 7cef82c..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s04.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Functions to Assemble and Disassemble Strings</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"><link rel="prev" href="ch03s03.html" title="Functions on Numeric Values"><link rel="next" href="ch03s05.html" title="Compare and Other Functions on String Values"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Functions_to_Assemble_and_Disassemble_Strings"></a>Functions to Assemble and Disassemble Strings</h2></div></div></div><p><pre class="programlisting">codepoints-to-string(0111)</pre></p><p>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</p><p><pre class="programlisting">String n = ((XSString)rs.first()).stringvalue();
-println(n);&lt;/source&gt;</pre></p><p>In order to get the result of &lsquo;o&rsquo;</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s05.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s05.html
deleted file mode 100644
index 8c54f5c..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s05.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Compare and Other Functions on String Values</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"><link rel="prev" href="ch03s04.html" title="Functions to Assemble and Disassemble Strings"><link rel="next" href="ch03s06.html" title="Functions Based on Substring Matching"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Compare_and_Other_Functions_on_String_Values"></a>Compare and Other Functions on String Values</h2></div></div></div><p><pre class="programlisting">concat(&lsquo;un&rsquo;, &lsquo;grateful&rsquo;)</pre></p><p>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</p><p><pre class="programlisting">String n = ((XSString)rs.first()).stringvalue();
-println(n);</pre></p><p>In order to get the result of &lsquo;ungrateful&rsquo;</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s06.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s06.html
deleted file mode 100644
index f609e13..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s06.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Functions Based on Substring Matching</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"><link rel="prev" href="ch03s05.html" title="Compare and Other Functions on String Values"><link rel="next" href="ch03s07.html" title="String Functions that Use Pattern Matching"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Functions_Based_on_Substring_Matching"></a>Functions Based on Substring Matching</h2></div></div></div><p><pre class="programlisting">contains("abc", "edf")</pre></p><p>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</p><p><pre class="programlisting">boolean n = ((XSBoolean)rs.first()).value();
-println(n);</pre></p><p>In order to get the result of &lsquo;false&rsquo;</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s07.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s07.html
deleted file mode 100644
index ee2acc6..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s07.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>String Functions that Use Pattern Matching</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"><link rel="prev" href="ch03s06.html" title="Functions Based on Substring Matching"><link rel="next" href="ch03s08.html" title="Functions on Boolean Values"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="String_Functions_that_Use_Pattern_Matching"></a>String Functions that Use Pattern Matching</h2></div></div></div><p><pre class="programlisting">matches(&lsquo;abcd&rsquo;, &lsquo;abcd&rsquo;)</pre></p><p>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</p><p><pre class="programlisting">boolean n = ((XSBoolean)rs.first()).value();
-println(n);</pre></p><p>In order to get the result of &lsquo;true&rsquo;</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s08.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s08.html
deleted file mode 100644
index 18ee268..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s08.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Functions on Boolean Values</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"><link rel="prev" href="ch03s07.html" title="String Functions that Use Pattern Matching"><link rel="next" href="ch03s09.html" title="Component Extraction Functions on Durations, Dates and Times"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Functions_on_Boolean_Values"></a>Functions on Boolean Values</h2></div></div></div><p><pre class="programlisting">not(true())</pre></p><p>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</p><p><pre class="programlisting">boolean n = ((XSBoolean)rs.first()).value();
-println(n);</pre></p><p>in order to get the result of &lsquo;false&rsquo;</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s09.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s09.html
deleted file mode 100644
index ac64dd5..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s09.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Component Extraction Functions on Durations, Dates and Times</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"><link rel="prev" href="ch03s08.html" title="Functions on Boolean Values"><link rel="next" href="ch03s10.html" title="Functions Related to QNames"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Component_Extraction_Functions_on_Durations.2C_Dates_and_Times"></a>Component Extraction Functions on Durations, Dates and
-      Times</h2></div></div></div><p><pre class="programlisting">timezone-from-time(xs:time("13:20:00+05:00"))</pre></p><p>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</p><p><pre class="programlisting">String n = ((XDTDayTimeDuration)rs.first()).stringvalue(); 
-println(n);</pre></p><p>in order to get the result of &lsquo;PT5H&rsquo;</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s10.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s10.html
deleted file mode 100644
index 41d2e40..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s10.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Functions Related to QNames</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"><link rel="prev" href="ch03s09.html" title="Component Extraction Functions on Durations, Dates and Times"><link rel="next" href="ch03s11.html" title="Functions on Nodes"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Functions_Related_to_QNames"></a>Functions Related to QNames</h2></div></div></div><p><pre class="programlisting">local-name-from-QName(QName(&lsquo; <a class="ulink" href="http://www.example.com/example" target="_top">http://www.example.com/example</a>&rsquo;, &lsquo;person&rsquo;))</pre></p><p>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</p><p><pre class="programlisting">String n = ((XSNCName)rs.first()).stringvalue();
-println(n);</pre></p><p>in order to get the result of &lsquo;person&rsquo;</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11.html
deleted file mode 100644
index 458c7b1..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Functions on Nodes</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"><link rel="prev" href="ch03s10.html" title="Functions Related to QNames"><link rel="next" href="ch03s11s02.html" title="Functions That Test the Cardinality of Sequences"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Functions_on_Nodes"></a>Functions on Nodes</h2></div></div></div><p></p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="General_Functions_on_Sequences"></a>General Functions on Sequences</h3></div></div></div><p><pre class="programlisting">remove((&lsquo;s&rsquo;,&lsquo;o&rsquo;,&lsquo;m&rsquo;,&lsquo;e&rsquo;,&lsquo;t&rsquo;,&lsquo;h&rsquo;,&lsquo;i&rsquo;,&lsquo;n&rsquo;,&lsquo;g&rsquo;), 6)</pre></p><p>from within a Java application, in order to extract the result
-        from the result sequence, one would have to use this code:</p><pre class="programlisting">for (Iterator iter = rs.iterator(); iter.hasNext();) {
-  Object item = iter.next(); 
-  String n = ((XSString)item).stringvalue();
-  print(n + " ");
-} println("");
-</pre><p>in order to get the result of &lsquo;s o m e t i n g&rsquo;</p></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11s02.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11s02.html
deleted file mode 100644
index 2fa440a..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11s02.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Functions That Test the Cardinality of Sequences</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03s11.html" title="Functions on Nodes"><link rel="prev" href="ch03s11.html" title="Functions on Nodes"><link rel="next" href="ch03s11s03.html" title="Deep-Equal, Aggregate Functions, and Functions that Generate Sequences"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Functions_That_Test_the_Cardinality_of_Sequences"></a>Functions That Test the Cardinality of Sequences</h3></div></div></div><p><pre class="programlisting">one-or-more((1,2,3,4,5))</pre></p><p>from within a Java application, in order to extract the result
-        from the result sequence, one would have to use this code:</p><pre class="programlisting">for (Iterator iter = rs.iterator(); iter.hasNext();) {
- Object item = iter.next();
- int n = ((XSInteger)item).intvalue();
- print(n + " ");
-} println("");
-</pre><p>in order to get the result of &lsquo;1 2 3 4 5&rsquo;</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11s03.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11s03.html
deleted file mode 100644
index e8734e0..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11s03.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Deep-Equal, Aggregate Functions, and Functions that Generate Sequences</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03s11.html" title="Functions on Nodes"><link rel="prev" href="ch03s11s02.html" title="Functions That Test the Cardinality of Sequences"><link rel="next" href="ch03s11s04.html" title="Context Functions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Deep-Equal.2C_Aggregate_Functions.2C_and_Functions_that_Generate_Sequences"></a>Deep-Equal, Aggregate Functions, and Functions that Generate
-        Sequences</h3></div></div></div><p><pre class="programlisting">avg((3,4,5))</pre></p><p>from within a Java application, in order to extract the result
-        from the result sequence, one would have to use this code:</p><p><pre class="programlisting">double avg = ((XSDouble)rs.first()).doublevalue();
-println(avg);</pre></p><p>in order to get the result of &lsquo;4.0&rsquo;</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11s04.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11s04.html
deleted file mode 100644
index 1b243d6..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11s04.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Context Functions</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03s11.html" title="Functions on Nodes"><link rel="prev" href="ch03s11s03.html" title="Deep-Equal, Aggregate Functions, and Functions that Generate Sequences"><link rel="next" href="ch04.html" title="How to use XPath 2.0 operators with PsychoPath"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Context_Functions"></a>Context Functions</h3></div></div></div><p><pre class="programlisting">(10 to 20) = 2</pre></p><p>from within a Java application, in order to extract the result
-        from the result sequence, one would have to use this code:</p><p><pre class="programlisting">int pos = ((XSInteger)rs.first()).intvalue(); println(pos);</pre></p><p>in order to get the result of &lsquo;11&rsquo;</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04.html
deleted file mode 100644
index 789f613..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>How to use XPath 2.0 operators with PsychoPath</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="prev" href="ch03s11s04.html" title="Context Functions"><link rel="next" href="ch04s02.html" title="Comparison of Numeric Values"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="How_to_use_XPath_2.0_operators_with_PsychoPath"></a>How to use XPath 2.0 operators with PsychoPath</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><ul><li><span class="section"><a href="ch04.html#Operators_on_Numeric_Values">Operators on Numeric Values</a></span></li><li><span class="section"><a href="ch04s02.html">Comparison of Numeric Values</a></span></li><li><span class="section"><a href="ch04s03.html">Operators on Boolean Values</a></span></li><li><span class="section"><a href="ch04s04.html">Comparisons of Duration, Date and Time Values</a></span></li><li><span class="section"><a href="ch04s05.html">Arithmetic Functions on Durations</a></span></li><li><span class="section"><a href="ch04s06.html">Arithmetic Functions Dates and Times</a></span></li><li><span class="section"><a href="ch04s07.html">Operators Related to QNames And Nodes</a></span></li><li><span class="section"><a href="ch04s08.html">Union, Intersection and Except</a></span></li><li><span class="section"><a href="ch04s09.html">Operators that Generate Sequences</a></span></li></ul></div><p>The aim of this section is to give the user an overview of the
-    available XPath 2.0 operators that are implemented in PsychoPath. For the
-    formal specifications, see the W3C web-site for XPath 2.0 functions and
-    operators <a class="ulink" href="http://www.w3.org/TR/xpath-functions/" target="_top">http://www.w3.org/TR/xpath-functions/</a>.</p><p></p><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Operators_on_Numeric_Values"></a>Operators on Numeric Values</h2></div></div></div><p><pre class="programlisting">xs:integer(4) + xs:integer(3)</pre></p><p>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</p><p><pre class="programlisting">Integer n = ((XSInteger)rs.first()).integervalue(); 
-println(n);</pre></p><p>in order to get the result of &lsquo;7&rsquo;</p></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s02.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s02.html
deleted file mode 100644
index c2d40a5..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s02.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Comparison of Numeric Values</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch04.html" title="How to use XPath 2.0 operators with PsychoPath"><link rel="prev" href="ch04.html" title="How to use XPath 2.0 operators with PsychoPath"><link rel="next" href="ch04s03.html" title="Operators on Boolean Values"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Comparison_of_Numeric_Values"></a>Comparison of Numeric Values</h2></div></div></div><p><pre class="programlisting">xs:decimal(3.3) = xs:decimal(6.6)</pre></p><p>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</p><p><pre class="programlisting">boolean n = ((XSBoolean)rs.first()).value(); println(n);</pre></p><p>in order to get the result of &lsquo;false&rsquo;</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s03.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s03.html
deleted file mode 100644
index 8f02b1e..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s03.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Operators on Boolean Values</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch04.html" title="How to use XPath 2.0 operators with PsychoPath"><link rel="prev" href="ch04s02.html" title="Comparison of Numeric Values"><link rel="next" href="ch04s04.html" title="Comparisons of Duration, Date and Time Values"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Operators_on_Boolean_Values"></a>Operators on Boolean Values</h2></div></div></div><p><pre class="programlisting">xs:boolean(&rsquo;true&rsquo;) gt xs:boolean(&rsquo;false&rsquo;)</pre></p><p>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</p><p><pre class="programlisting">boolean n = ((XSBoolean)rs.first()).value(); println(n);</pre></p><p>in order to get the result of &lsquo;true&rsquo;</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s04.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s04.html
deleted file mode 100644
index 5ecc9c5..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s04.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Comparisons of Duration, Date and Time Values</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch04.html" title="How to use XPath 2.0 operators with PsychoPath"><link rel="prev" href="ch04s03.html" title="Operators on Boolean Values"><link rel="next" href="ch04s05.html" title="Arithmetic Functions on Durations"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Comparisons_of_Duration.2C_Date_and_Time_Values"></a>Comparisons of Duration, Date and Time Values</h2></div></div></div><p><pre class="programlisting">xs:time("23:00:00+06:00") lt xs:time("12:00:00-06:00")</pre></p><p>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</p><p><pre class="programlisting">boolean n = ((XSBoolean)rs.first()).value(); 
-println(n);</pre></p><p>in order to get the result of &lsquo;true&rsquo;</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s05.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s05.html
deleted file mode 100644
index 611b868..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s05.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Arithmetic Functions on Durations</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch04.html" title="How to use XPath 2.0 operators with PsychoPath"><link rel="prev" href="ch04s04.html" title="Comparisons of Duration, Date and Time Values"><link rel="next" href="ch04s06.html" title="Arithmetic Functions Dates and Times"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Arithmetic_Functions_on_Durations"></a>Arithmetic Functions on Durations</h2></div></div></div><p><pre class="programlisting">multiply-dayTimeDuration(xs:dayTimeDuration("PT2H10M"), 2.1)</pre></p><p>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</p><p><pre class="programlisting">String n = ((XDTDayTimeDuration)rs.first()).stringvalue(); 
-println(n);</pre></p><p>which returns a xdt:dayTimeDuration value corresponding to 4 hours
-      and 33 minutes &lsquo;PT4H33M&rsquo;</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s06.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s06.html
deleted file mode 100644
index 41722ea..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s06.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Arithmetic Functions Dates and Times</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch04.html" title="How to use XPath 2.0 operators with PsychoPath"><link rel="prev" href="ch04s05.html" title="Arithmetic Functions on Durations"><link rel="next" href="ch04s07.html" title="Operators Related to QNames And Nodes"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Arithmetic_Functions_Dates_and_Times"></a>Arithmetic Functions Dates and Times</h2></div></div></div><p><pre class="programlisting">add-yearMonthDuration-to-dateTime( xs:dateTime("2000-10-30T11:12:00"), xdt:yearMonthDuration("P1Y2M"))</pre></p><p>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</p><p><pre class="programlisting">String n = ((XSDateTime)rs.first()).stringvalue(); 
-println(n);</pre></p><p>which returns an xs:dateTime value corresponding to the lexical
-      representation &lsquo;2001-12-30T11:12:00&rsquo;</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s07.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s07.html
deleted file mode 100644
index 0d7d838..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s07.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Operators Related to QNames And Nodes</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch04.html" title="How to use XPath 2.0 operators with PsychoPath"><link rel="prev" href="ch04s06.html" title="Arithmetic Functions Dates and Times"><link rel="next" href="ch04s08.html" title="Union, Intersection and Except"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Operators_Related_to_QNames_And_Nodes"></a>Operators Related to QNames And Nodes</h2></div></div></div><p><pre class="programlisting">xs:QName(&rsquo;ao&rsquo;) eq xs:QName(&rsquo;ao&rsquo;)</pre></p><p>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</p><p><pre class="programlisting">boolean n = ((XSBoolean)rs.first()).value(); 
-println(n);</pre></p><p>which returns the result of &lsquo;true&rsquo;</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s08.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s08.html
deleted file mode 100644
index 9b4a308..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s08.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Union, Intersection and Except</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch04.html" title="How to use XPath 2.0 operators with PsychoPath"><link rel="prev" href="ch04s07.html" title="Operators Related to QNames And Nodes"><link rel="next" href="ch04s09.html" title="Operators that Generate Sequences"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Union.2C_Intersection_and_Except"></a>Union, Intersection and Except</h2></div></div></div><p><pre class="programlisting">union($seq2, $seq3)</pre></p><p>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</p><pre class="programlisting">for (Iterator iter = rs.iterator(); iter.hasNext();) {
-  Object item = iter.next();
-  String n = ((XSString)item).stringvalue();
-  print(n + ", ");
-}
-println("");
-</pre><p> </p><p>which returns the sequence consisting of $item1, $item2,
-      $item3.</p><p></p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s09.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s09.html
deleted file mode 100644
index d822a00..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s09.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Operators that Generate Sequences</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch04.html" title="How to use XPath 2.0 operators with PsychoPath"><link rel="prev" href="ch04s08.html" title="Union, Intersection and Except"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Operators_that_Generate_Sequences"></a>Operators that Generate Sequences</h2></div></div></div><p><pre class="programlisting">(1 to 3)</pre></p><p>from within a Java application, in order to extract the result
-      from the result sequence, one would have to use this code:</p><p><pre class="programlisting">int n = (XSInteger)rs.first()).stringvalue(); 
-println(n);</pre></p><p>which returns the sequence consisting of 1, 2, 3.</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/index.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/index.html
deleted file mode 100644
index 3a1c190..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/index.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>XPath 2.0 Processor User Manual</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="next" href="ch01.html" title="Introduction"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="N10001"></a>XPath 2.0 Processor User Manual</h1></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><ul><li><span class="chapter"><a href="ch01.html">Introduction</a></span><ul><li><span class="section"><a href="ch01.html#Getting_PsychoPath">Getting PsychoPath</a></span></li></ul></li><li><span class="chapter"><a href="ch02.html">Using PsychoPath XPath 2.0 API</a></span><ul><li><span class="section"><a href="ch02.html#Non-Schema_Aware">Non-Schema Aware</a></span></li><li><span class="section"><a href="ch02s02.html">Schema Aware</a></span></li><li><span class="section"><a href="ch02s03.html">How to use the XPath 2.0 grammar with PsychoPath</a></span><ul><li><span class="section"><a href="ch02s03.html#Constants">Constants</a></span></li><li><span class="section"><a href="ch02s03s02.html">Path expressions</a></span></li><li><span class="section"><a href="ch02s03s03.html">Axis steps</a></span></li><li><span class="section"><a href="ch02s03s04.html">Set difference, intersection and Union</a></span></li><li><span class="section"><a href="ch02s03s05.html">Arithmetic Expressions</a></span><ul><li><span class="section"><a href="ch02s03s05.html#Unary">Unary</a></span></li><li><span class="section"><a href="ch02s03s05s02.html">Multiplication and Division:</a></span></li><li><span class="section"><a href="ch02s03s05s03.html">Addition and Subtraction:</a></span></li></ul></li><li><span class="section"><a href="ch02s03s06.html">Range expressions</a></span></li><li><span class="section"><a href="ch02s03s07.html">Comparisons</a></span></li><li><span class="section"><a href="ch02s03s08.html">Conditional Expressions</a></span></li><li><span class="section"><a href="ch02s03s09.html">Quantified Expressions</a></span></li><li><span class="section"><a href="ch02s03s10.html">And, Or Expressions</a></span></li><li><span class="section"><a href="ch02s03s11.html">SequenceType Matching Expressions</a></span></li></ul></li></ul></li><li><span class="chapter"><a href="ch03.html">How to use XPath 2.0 functions with PsychoPath</a></span><ul><li><span class="section"><a href="ch03.html#Accessors">Accessors</a></span></li><li><span class="section"><a href="ch03s02.html">Constructor Functions</a></span></li><li><span class="section"><a href="ch03s03.html">Functions on Numeric Values</a></span></li><li><span class="section"><a href="ch03s04.html">Functions to Assemble and Disassemble Strings</a></span></li><li><span class="section"><a href="ch03s05.html">Compare and Other Functions on String Values</a></span></li><li><span class="section"><a href="ch03s06.html">Functions Based on Substring Matching</a></span></li><li><span class="section"><a href="ch03s07.html">String Functions that Use Pattern Matching</a></span></li><li><span class="section"><a href="ch03s08.html">Functions on Boolean Values</a></span></li><li><span class="section"><a href="ch03s09.html">Component Extraction Functions on Durations, Dates and
-      Times</a></span></li><li><span class="section"><a href="ch03s10.html">Functions Related to QNames</a></span></li><li><span class="section"><a href="ch03s11.html">Functions on Nodes</a></span><ul><li><span class="section"><a href="ch03s11.html#General_Functions_on_Sequences">General Functions on Sequences</a></span></li><li><span class="section"><a href="ch03s11s02.html">Functions That Test the Cardinality of Sequences</a></span></li><li><span class="section"><a href="ch03s11s03.html">Deep-Equal, Aggregate Functions, and Functions that Generate
-        Sequences</a></span></li><li><span class="section"><a href="ch03s11s04.html">Context Functions</a></span></li></ul></li></ul></li><li><span class="chapter"><a href="ch04.html">How to use XPath 2.0 operators with PsychoPath</a></span><ul><li><span class="section"><a href="ch04.html#Operators_on_Numeric_Values">Operators on Numeric Values</a></span></li><li><span class="section"><a href="ch04s02.html">Comparison of Numeric Values</a></span></li><li><span class="section"><a href="ch04s03.html">Operators on Boolean Values</a></span></li><li><span class="section"><a href="ch04s04.html">Comparisons of Duration, Date and Time Values</a></span></li><li><span class="section"><a href="ch04s05.html">Arithmetic Functions on Durations</a></span></li><li><span class="section"><a href="ch04s06.html">Arithmetic Functions Dates and Times</a></span></li><li><span class="section"><a href="ch04s07.html">Operators Related to QNames And Nodes</a></span></li><li><span class="section"><a href="ch04s08.html">Union, Intersection and Except</a></span></li><li><span class="section"><a href="ch04s09.html">Operators that Generate Sequences</a></span></li></ul></li></ul></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/lib/.cvsignore b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/lib/.cvsignore
deleted file mode 100644
index aa9bb30..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/lib/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-org.eclipse.mylyn.wikitext.core_1.1.2.I20090813-1900-e3x.jar
-org.eclipse.mylyn.wikitext.mediawiki.core_1.1.2.I20090813-1900-e3x.jar
-plugins
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/mediawiki/.cvsignore b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/mediawiki/.cvsignore
deleted file mode 100644
index 4152f9d..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/mediawiki/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-usermanual
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/plugin.properties b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/plugin.properties
deleted file mode 100644
index b679d29..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-#Properties file for org.eclipse.wst.xsl.doc
-vendorName = Eclipse Web Tools Platform
-pluginName = XPath 2.0 (PsychoPath) User Documentation
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/plugin.xml b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/plugin.xml
deleted file mode 100644
index 1427912..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-
-   <extension
-         point="org.eclipse.help.toc">
-      <toc
-            file="toc.xml"
-            primary="true">
-      </toc>
-   </extension>
-
-</plugin>
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/toc.xml b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/toc.xml
deleted file mode 100644
index cda16b3..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/toc.xml
+++ /dev/null
@@ -1 +0,0 @@
-<toc topic="html/index.html" label="XPath 2.0 Processor User Manual"><topic href="html/ch01.html" label="Introduction"><topic href="html/ch01.html#Getting_PsychoPath" label="Getting PsychoPath"></topic></topic><topic href="html/ch02.html" label="Using PsychoPath XPath 2.0 API"><topic href="html/ch02.html#Non-Schema_Aware" label="Non-Schema Aware"></topic><topic href="html/ch02s02.html" label="Schema Aware"></topic><topic href="html/ch02s03.html" label="How to use the XPath 2.0 grammar with PsychoPath"><topic href="html/ch02s03.html#Constants" label="Constants"></topic><topic href="html/ch02s03s02.html" label="Path expressions"></topic><topic href="html/ch02s03s03.html" label="Axis steps"></topic><topic href="html/ch02s03s04.html" label="Set difference, intersection and Union"></topic><topic href="html/ch02s03s05.html" label="Arithmetic Expressions"><topic href="html/ch02s03s05.html#Unary" label="Unary"></topic><topic href="html/ch02s03s05s02.html" label="Multiplication and Division:"></topic><topic href="html/ch02s03s05s03.html" label="Addition and Subtraction:"></topic></topic><topic href="html/ch02s03s06.html" label="Range expressions"></topic><topic href="html/ch02s03s07.html" label="Comparisons"></topic><topic href="html/ch02s03s08.html" label="Conditional Expressions"></topic><topic href="html/ch02s03s09.html" label="Quantified Expressions"></topic><topic href="html/ch02s03s10.html" label="And, Or Expressions"></topic><topic href="html/ch02s03s11.html" label="SequenceType Matching Expressions"></topic></topic></topic><topic href="html/ch03.html" label="How to use XPath 2.0 functions with PsychoPath"><topic href="html/ch03.html#Accessors" label="Accessors"></topic><topic href="html/ch03s02.html" label="Constructor Functions"></topic><topic href="html/ch03s03.html" label="Functions on Numeric Values"></topic><topic href="html/ch03s04.html" label="Functions to Assemble and Disassemble Strings"></topic><topic href="html/ch03s05.html" label="Compare and Other Functions on String Values"></topic><topic href="html/ch03s06.html" label="Functions Based on Substring Matching"></topic><topic href="html/ch03s07.html" label="String Functions that Use Pattern Matching"></topic><topic href="html/ch03s08.html" label="Functions on Boolean Values"></topic><topic href="html/ch03s09.html" label="Component Extraction Functions on Durations, Dates and Times"></topic><topic href="html/ch03s10.html" label="Functions Related to QNames"></topic><topic href="html/ch03s11.html" label="Functions on Nodes"><topic href="html/ch03s11.html#General_Functions_on_Sequences" label="General Functions on Sequences"></topic><topic href="html/ch03s11s02.html" label="Functions That Test the Cardinality of Sequences"></topic><topic href="html/ch03s11s03.html" label="Deep-Equal, Aggregate Functions, and Functions that Generate Sequences"></topic><topic href="html/ch03s11s04.html" label="Context Functions"></topic></topic></topic><topic href="html/ch04.html" label="How to use XPath 2.0 operators with PsychoPath"><topic href="html/ch04.html#Operators_on_Numeric_Values" label="Operators on Numeric Values"></topic><topic href="html/ch04s02.html" label="Comparison of Numeric Values"></topic><topic href="html/ch04s03.html" label="Operators on Boolean Values"></topic><topic href="html/ch04s04.html" label="Comparisons of Duration, Date and Time Values"></topic><topic href="html/ch04s05.html" label="Arithmetic Functions on Durations"></topic><topic href="html/ch04s06.html" label="Arithmetic Functions Dates and Times"></topic><topic href="html/ch04s07.html" label="Operators Related to QNames And Nodes"></topic><topic href="html/ch04s08.html" label="Union, Intersection and Except"></topic><topic href="html/ch04s09.html" label="Operators that Generate Sequences"></topic></topic></toc>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/.classpath b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/.project b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/.project
deleted file mode 100644
index f866e7b..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.xml.xpath2.processor.sdk.doc</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/.settings/org.eclipse.jdt.core.prefs b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 4ed1843..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-#Thu Aug 27 00:57:46 GMT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/META-INF/MANIFEST.MF b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/META-INF/MANIFEST.MF
deleted file mode 100644
index 1164a63..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.xml.xpath2.processor.sdk.doc; singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.wst.xml.xpath2.processor.sdk.doc.Activator
-Require-Bundle: org.eclipse.core.runtime
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-Vendor: %providerName
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/about.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/about.html
deleted file mode 100644
index ed30003..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>August, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/build.properties b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/build.properties
deleted file mode 100644
index dc1f9c5..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               .,\
-               doc/,\
-               testToc.xml,\
-               toc.xml,\
-               about.html,\
-               bin/
-bin.excludes = doc/jel.xml,\
-               doc/jeltohtml.xsl,\
-               doc/jeltotoc.xsl,\
-               doc/html/deleteme.html
-src.includes = about.html,\
-               src/,\
-               toc.xml,\
-               plugin.xml,\
-               plugin.properties,\
-               doc/
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/build.xml b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/build.xml
deleted file mode 100644
index fb14def..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/build.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ====================================================================== 
-     Jul 21, 2008 6:46:02 PM                                                        
-
-     SDK Documentation    
-     Builds SDK TOC Documentation using JELDoclet.
-                   
-     dcarver                                                                
-     ====================================================================== -->
-<project name="SDK Documentation" default="default">
-    <description>
-            Builds SDK TOC Documentation using JELDoclet.
-    </description>
-	
-	<property name="workspace" location="."/>
-	<property name="workspaceloc" location=".."/>
-
-    <!-- ================================= 
-          target: default              
-         ================================= -->
-    <target name="default" description="Builds SDK TOC Documentation using JELDoclet.">
-
-  	  <javadoc destdir="doc" package="true" docletpath="${workspace}/lib/jeldoclet.jar">
-  	  	 <fileset dir="${workspaceloc}">
-	  	 	<include name="org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/*.java"/>
-	  	 	<include name="org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/ast/*.java"/>
-	  	 	<include name="org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/function/*.java"/>
-	  	 	<include name="org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/*.java"/>
-  	  	 </fileset>
-  	     <doclet name="com.jeldoclet.JELDoclet"/>
-  	  </javadoc>
-    	
-     <xslt basedir="." style="doc/jeltohtml.xsl" in="doc/jel.xml" out="doc/html/deleteme.html">
-  		<factory name="org.apache.xalan.processor.TransformerFactoryImpl">
-  			<attribute name="http://xml.apache.org/xalan/features/optimize" value="true"/>
-  			
-  		</factory>
-     </xslt>
-    	
-    	
-     <xslt style="doc/jeltotoc.xsl" in="doc/jel.xml" out="toc.xml" destdir=".">
-  		<factory name="org.apache.xalan.processor.TransformerFactoryImpl">
-  			<attribute name="http://xml.apache.org/xalan/features/optimize" value="true"/>
-  		</factory>
-     	<param name="sdkname" expression="XSL Tools SDK Documentation"/>
-     </xslt>
-    	
-    </target>
-
-</project>
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DOMBuilder.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DOMBuilder.html
deleted file mode 100644
index 4272e9d..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DOMBuilder.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
-               Class DOMBuilder</h2><br><hr><pre>public class <strong>DOMBuilder</strong>
-extends java.lang.Object</pre>The DOM builder loads an DOM from an InputStream. The loading is always namespace aware.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private boolean</code></td><td width="80%" align="left"><code><a href="#field__namespace_aware">_namespace_aware</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private boolean</code></td><td width="80%" align="left"><code><a href="#field__validating">_validating</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_DOMBuilder">DOMBuilder</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.w3c.dom.Document</code></td><td width="" align="left"><code><a href="#method_load">load</a>(java.io.InputStream in)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Loads The XML document.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_validating">set_validating</a>(boolean x)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Set validating boolean.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Field Detail
-               </h2></td></tr></table><h2><a name="field__namespace_aware">_namespace_aware</a></h2><p><code>package-private boolean <strong>_namespace_aware</strong></code></p><hr><h2><a name="field__validating">_validating</a></h2><p><code>package-private boolean <strong>_validating</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_DOMBuilder">DOMBuilder</a></h2><p><code>public <strong>DOMBuilder</strong>()</code></p><p>Constructor for DOM builder.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_load">load</a></h2><p><code>public org.w3c.dom.Document <strong>load</strong>(java.io.InputStream in)</code></p><p>Loads The XML document.</p><h3>Parameters</h3><p><code>in</code> - is the input stream.</p><h3>Returns</h3><p><code>org.w3c.dom.Document</code> - The loaded document.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DOMLoaderException - DOM loader exception.</code></p><hr><h2><a name="method_set_validating">set_validating</a></h2><p><code>public void <strong>set_validating</strong>(boolean x)</code></p><p>Set validating boolean.</p><h3>Parameters</h3><p><code>x</code> - is the value to set the validating boolean to.</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DOMLoader.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DOMLoader.html
deleted file mode 100644
index 30fe714..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DOMLoader.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
-               Class DOMLoader</h2><br><hr><pre>public class <strong>DOMLoader</strong>
-extends </pre>The DOM loader loads the XML document.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.w3c.dom.Document</code></td><td width="" align="left"><code><a href="#method_load">load</a>(java.io.InputStream in)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               The DOM loader loads the XML docuemnt</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_validating">set_validating</a>(boolean val)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Set validating boolean.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_load">load</a></h2><p><code>public org.w3c.dom.Document <strong>load</strong>(java.io.InputStream in)</code></p><p>The DOM loader loads the XML docuemnt</p><h3>Parameters</h3><p><code>in</code> - is the input stream.</p><h3>Returns</h3><p><code>org.w3c.dom.Document</code> - The loaded document. The document is always loaded as namespace-aware</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DOMLoaderException - DOM loader exception.</code></p><hr><h2><a name="method_set_validating">set_validating</a></h2><p><code>public void <strong>set_validating</strong>(boolean val)</code></p><p>Set validating boolean.</p><h3>Parameters</h3><p><code>val</code> - is the validating boolean.</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DOMLoaderException.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DOMLoaderException.html
deleted file mode 100644
index 66a8e22..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DOMLoaderException.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
-               Class DOMLoaderException</h2><br><hr><pre>public class <strong>DOMLoaderException</strong>
-extends org.eclipse.wst.xml.xpath2.processor.XPathException</pre>Exception caused by DOM loader.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_DOMLoaderException">DOMLoaderException</a></strong>(java.lang.String reason)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_DOMLoaderException">DOMLoaderException</a></h2><p><code>public <strong>DOMLoaderException</strong>(java.lang.String reason)</code></p><p>Constructor for DOM loader exception.</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultDynamicContext.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultDynamicContext.html
deleted file mode 100644
index 1c6c76b..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultDynamicContext.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
-               Class DefaultDynamicContext</h2><br><hr><pre>public class <strong>DefaultDynamicContext</strong>
-extends DefaultStaticContext</pre>The default implementation of a Dynamic Context.
- 
- Initializes and provides functionality of a dynamic context according to the
- XPath 2.0 specification.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_DefaultDynamicContext">DefaultDynamicContext</a></strong>(XSModel schema
-         ,
-      org.w3c.dom.Document doc)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_add_function_library">add_function_library</a>(FunctionLibrary fl)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Adds function definitions.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_context_item">context_item</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieve context item that is in focus</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_context_position">context_position</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieve the position of the focus</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.GregorianCalendar</code></td><td width="" align="left"><code><a href="#method_current_date_time">current_date_time</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Gets the Current stable date time from the dynamic context.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_evaluate_function">evaluate_function</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
-         ,
-      java.util.Collection args)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public Focus</code></td><td width="" align="left"><code><a href="#method_focus">focus</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Return the focus</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_get_doc">get_doc</a>(java.net.URI resolved)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               get document</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_get_variable">get_variable</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieve the variable name</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_last">last</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieve the position of the last focus</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.net.URI</code></td><td width="" align="left"><code><a href="#method_resolve_uri">resolve_uri</a>(java.lang.String uri)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_focus">set_focus</a>(Focus f)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Changes the current focus.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_variable">set_variable</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType val)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Sets the value of a variable.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code></td><td width="" align="left"><code><a href="#method_tz">tz</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Reads the day from a TimeDuration type</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_DefaultDynamicContext">DefaultDynamicContext</a></h2><p><code>public <strong>DefaultDynamicContext</strong>(XSModel schema
-         ,
-      org.w3c.dom.Document doc)</code></p><p>Constructor.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_add_function_library">add_function_library</a></h2><p><code>public void <strong>add_function_library</strong>(FunctionLibrary fl)</code></p><p>Adds function definitions.</p><h3>Parameters</h3><p><code>fl</code> - Function library to add.</p><hr><h2><a name="method_context_item">context_item</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>context_item</strong>()</code></p><p>Retrieve context item that is in focus</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - an AnyType result from _focus.context_item()</p><hr><h2><a name="method_context_position">context_position</a></h2><p><code>public int <strong>context_position</strong>()</code></p><p>Retrieve the position of the focus</p><h3>Returns</h3><p><code>int</code> - an integer result from _focus.position()</p><hr><h2><a name="method_current_date_time">current_date_time</a></h2><p><code>public java.util.GregorianCalendar <strong>current_date_time</strong>()</code></p><p>Gets the Current stable date time from the dynamic context.</p><h3>Returns</h3><p><code>java.util.GregorianCalendar</code></p><hr><h2><a name="method_evaluate_function">evaluate_function</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>evaluate_function</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
-         ,
-      java.util.Collection args)</code></p><p></p><h3>Parameters</h3><p><code>name</code></p><p><code>args</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - a ResultSequence from funct.evaluate(args)</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_focus">focus</a></h2><p><code>public Focus <strong>focus</strong>()</code></p><p>Return the focus</p><h3>Returns</h3><p><code>Focus</code> - _focus</p><hr><h2><a name="method_get_doc">get_doc</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>get_doc</strong>(java.net.URI resolved)</code></p><p>get document</p><h3>Parameters</h3><p><code>resolved</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - a ResultSequence from ResultSequenceFactory.create_new()</p><hr><h2><a name="method_get_variable">get_variable</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>get_variable</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p>Retrieve the variable name</p><h3>Parameters</h3><p><code>name</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - an AnyType result from get_var(name) or return NULL</p><hr><h2><a name="method_last">last</a></h2><p><code>public int <strong>last</strong>()</code></p><p>Retrieve the position of the last focus</p><h3>Returns</h3><p><code>int</code> - an integer result from _focus.last()</p><hr><h2><a name="method_resolve_uri">resolve_uri</a></h2><p><code>public java.net.URI <strong>resolve_uri</strong>(java.lang.String uri)</code></p><p></p><h3>Parameters</h3><p><code>uri</code></p><h3>Returns</h3><p><code>java.net.URI</code></p><hr><h2><a name="method_set_focus">set_focus</a></h2><p><code>public void <strong>set_focus</strong>(Focus f)</code></p><p>Changes the current focus.</p><h3>Parameters</h3><p><code>f</code> - focus to set</p><hr><h2><a name="method_set_variable">set_variable</a></h2><p><code>public void <strong>set_variable</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType val)</code></p><p>Sets the value of a variable.</p><h3>Parameters</h3><p><code>var</code> - Variable name.</p><p><code>val</code> - Variable value.</p><hr><h2><a name="method_tz">tz</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration <strong>tz</strong>()</code></p><p>Reads the day from a TimeDuration type</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code> - an xs:integer _tz</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.html
deleted file mode 100644
index de03de5..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
-               Class DefaultEvaluator</h2><br><hr><pre>public class <strong>DefaultEvaluator</strong>
-extends java.lang.Object</pre>Default evaluator interface<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_DefaultEvaluator">DefaultEvaluator</a></strong>(org.eclipse.wst.xml.xpath2.processor.DynamicContext dc
-         ,
-      org.w3c.dom.Document doc)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_evaluate">evaluate</a>(XPathNode node)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               evaluate the xpath node</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.ast.XPath xp)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               iterate through xpath expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(ForExpr fex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit for expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(QuantifiedExpr qex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit quantified expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(IfExpr ifex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit if expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(OrExpr orex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit or expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(AndExpr andex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit and expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(CmpExpr cmpex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit compare expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(RangeExpr rex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit range expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(AddExpr addex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit and expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(SubExpr subex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit sub expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(MulExpr mulex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit multiply expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(DivExpr mulex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit division expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(IDivExpr mulex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit integer division expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(ModExpr mulex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit modular expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(UnionExpr unex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit union expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(PipeExpr pipex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit pipe expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(IntersectExpr iexpr)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit intersect expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(ExceptExpr eexpr)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit except expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(InstOfExpr ioexp)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit instance of expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(TreatAsExpr taexp)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit treat-as expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(CastableExpr cexp)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit castable expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(CastExpr cexp)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit cast expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(MinusExpr e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit minus expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(PlusExpr e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit plus expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(XPathExpr e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit XPath expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(ForwardStep e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit a forward step expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(ReverseStep e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit a reverse step expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(NameTest e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit a name test expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(VarRef e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit variable reference</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(StringLiteral e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit string literal.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(IntegerLiteral e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit integer literal.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(DoubleLiteral e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit double literal.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(DecimalLiteral e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit decimal literal.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(ParExpr e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit parent expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(CntxItemExpr e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit context item expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(FunctionCall e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit function call.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(SingleType e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit single type.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(SequenceType e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit sequence type.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(ItemType e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit item type.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(AnyKindTest e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit any kind test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(DocumentTest e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit document test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(TextTest e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit text test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(CommentTest e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit comment test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(PITest e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit PI test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(AttributeTest e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit attribute test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(SchemaAttrTest e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit schema attribute test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(ElementTest e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit element test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(SchemaElemTest e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit schema element test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(AxisStep e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit axis step.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(FilterExpr e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               visit filter expression</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_DefaultEvaluator">DefaultEvaluator</a></h2><p><code>public <strong>DefaultEvaluator</strong>(org.eclipse.wst.xml.xpath2.processor.DynamicContext dc
-         ,
-      org.w3c.dom.Document doc)</code></p><p>set parameters</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_evaluate">evaluate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>evaluate</strong>(XPathNode node)</code></p><p>evaluate the xpath node</p><h3>Parameters</h3><p><code>node</code> - is the xpath node.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - result sequence.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.ast.XPath xp)</code></p><p>iterate through xpath expression</p><h3>Parameters</h3><p><code>xp</code> - is the xpath.</p><h3>Returns</h3><p><code>java.lang.Object</code> - result sequence.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(ForExpr fex)</code></p><p>visit for expression</p><h3>Parameters</h3><p><code>fex</code> - is the for expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(QuantifiedExpr qex)</code></p><p>visit quantified expression</p><h3>Parameters</h3><p><code>qex</code> - is the quantified expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function or null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(IfExpr ifex)</code></p><p>visit if expression</p><h3>Parameters</h3><p><code>ifex</code> - is the if expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a ifex.then_clause().accept(this).</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(OrExpr orex)</code></p><p>visit or expression</p><h3>Parameters</h3><p><code>orex</code> - is the or expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(AndExpr andex)</code></p><p>visit and expression</p><h3>Parameters</h3><p><code>andex</code> - is the and expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(CmpExpr cmpex)</code></p><p>visit compare expression</p><h3>Parameters</h3><p><code>cmpex</code> - is the compare expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function or null</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(RangeExpr rex)</code></p><p>visit range expression</p><h3>Parameters</h3><p><code>rex</code> - is the range expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(AddExpr addex)</code></p><p>visit and expression</p><h3>Parameters</h3><p><code>addex</code> - is the and expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(SubExpr subex)</code></p><p>visit sub expression</p><h3>Parameters</h3><p><code>subex</code> - is the sub expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(MulExpr mulex)</code></p><p>visit multiply expression</p><h3>Parameters</h3><p><code>mulex</code> - is the mul expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(DivExpr mulex)</code></p><p>visit division expression</p><h3>Parameters</h3><p><code>mulex</code> - is the division expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(IDivExpr mulex)</code></p><p>visit integer division expression</p><h3>Parameters</h3><p><code>mulex</code> - is the integer division expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(ModExpr mulex)</code></p><p>visit modular expression</p><h3>Parameters</h3><p><code>mulex</code> - is the modular expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(UnionExpr unex)</code></p><p>visit union expression</p><h3>Parameters</h3><p><code>unex</code> - is the union expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(PipeExpr pipex)</code></p><p>visit pipe expression</p><h3>Parameters</h3><p><code>pipex</code> - is the pipe expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(IntersectExpr iexpr)</code></p><p>visit intersect expression</p><h3>Parameters</h3><p><code>iexpr</code> - is the intersect expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(ExceptExpr eexpr)</code></p><p>visit except expression</p><h3>Parameters</h3><p><code>eexpr</code> - is the except expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(InstOfExpr ioexp)</code></p><p>visit instance of expression</p><h3>Parameters</h3><p><code>ioexp</code> - is the instance of expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(TreatAsExpr taexp)</code></p><p>visit treat-as expression</p><h3>Parameters</h3><p><code>taexp</code> - is the treat-as expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(CastableExpr cexp)</code></p><p>visit castable expression</p><h3>Parameters</h3><p><code>cexp</code> - is the castable expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(CastExpr cexp)</code></p><p>visit cast expression</p><h3>Parameters</h3><p><code>cexp</code> - is the cast expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(MinusExpr e)</code></p><p>visit minus expression</p><h3>Parameters</h3><p><code>e</code> - is the minus expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(PlusExpr e)</code></p><p>visit plus expression</p><h3>Parameters</h3><p><code>e</code> - is the plus expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(XPathExpr e)</code></p><p>visit XPath expression</p><h3>Parameters</h3><p><code>e</code> - is the XPath expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(ForwardStep e)</code></p><p>visit a forward step expression</p><h3>Parameters</h3><p><code>e</code> - is the forward step.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(ReverseStep e)</code></p><p>visit a reverse step expression</p><h3>Parameters</h3><p><code>e</code> - is the reverse step.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(NameTest e)</code></p><p>visit a name test expression</p><h3>Parameters</h3><p><code>e</code> - is thename test.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(VarRef e)</code></p><p>visit variable reference</p><h3>Parameters</h3><p><code>e</code> - is the variable reference.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(StringLiteral e)</code></p><p>visit string literal.</p><h3>Parameters</h3><p><code>e</code> - is the string literal.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(IntegerLiteral e)</code></p><p>visit integer literal.</p><h3>Parameters</h3><p><code>e</code> - is the integer literal.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(DoubleLiteral e)</code></p><p>visit double literal.</p><h3>Parameters</h3><p><code>e</code> - is the double literal.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(DecimalLiteral e)</code></p><p>visit decimal literal.</p><h3>Parameters</h3><p><code>e</code> - is the decimal literal.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(ParExpr e)</code></p><p>visit parent expression.</p><h3>Parameters</h3><p><code>e</code> - is the parent expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(CntxItemExpr e)</code></p><p>visit context item expression.</p><h3>Parameters</h3><p><code>e</code> - is the context item expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(FunctionCall e)</code></p><p>visit function call.</p><h3>Parameters</h3><p><code>e</code> - is the function call.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function or null</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(SingleType e)</code></p><p>visit single type.</p><h3>Parameters</h3><p><code>e</code> - is the single type.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(SequenceType e)</code></p><p>visit sequence type.</p><h3>Parameters</h3><p><code>e</code> - is the sequence type.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(ItemType e)</code></p><p>visit item type.</p><h3>Parameters</h3><p><code>e</code> - is the item type.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(AnyKindTest e)</code></p><p>visit any kind test.</p><h3>Parameters</h3><p><code>e</code> - is the any kind test.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(DocumentTest e)</code></p><p>visit document test.</p><h3>Parameters</h3><p><code>e</code> - is the document test.</p><h3>Returns</h3><p><code>java.lang.Object</code> - result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(TextTest e)</code></p><p>visit text test.</p><h3>Parameters</h3><p><code>e</code> - is the text test.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(CommentTest e)</code></p><p>visit comment test.</p><h3>Parameters</h3><p><code>e</code> - is the text test.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(PITest e)</code></p><p>visit PI test.</p><h3>Parameters</h3><p><code>e</code> - is the PI test.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a argument</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(AttributeTest e)</code></p><p>visit attribute test.</p><h3>Parameters</h3><p><code>e</code> - is the attribute test.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(SchemaAttrTest e)</code></p><p>visit schema attribute test.</p><h3>Parameters</h3><p><code>e</code> - is the schema attribute test.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(ElementTest e)</code></p><p>visit element test.</p><h3>Parameters</h3><p><code>e</code> - is the element test.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(SchemaElemTest e)</code></p><p>visit schema element test.</p><h3>Parameters</h3><p><code>e</code> - is the schema element test.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(AxisStep e)</code></p><p>visit axis step.</p><h3>Parameters</h3><p><code>e</code> - is the axis step.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(FilterExpr e)</code></p><p>visit filter expression</p><h3>Parameters</h3><p><code>e</code> - is the filter expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DynamicContext.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DynamicContext.html
deleted file mode 100644
index 030ae44..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DynamicContext.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
-               Class DynamicContext</h2><br><hr><pre>public class <strong>DynamicContext</strong>
-extends </pre>Interface for dynamic context.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_context_item">context_item</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Get context item.</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_context_position">context_position</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Get context node position.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.GregorianCalendar</code></td><td width="" align="left"><code><a href="#method_current_date_time">current_date_time</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the current date time using the GregorianCalendar.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_evaluate_function">evaluate_function</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
-         ,
-      java.util.Collection args)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Evaluate the function of the arguments.</td></tr><tr valign="top"><td width="20%" align="right"><code>public Focus</code></td><td width="" align="left"><code><a href="#method_focus">focus</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Return focus.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_get_doc">get_doc</a>(java.net.URI uri)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Get document.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_get_variable">get_variable</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Get variable.</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_last">last</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Get position of last item.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.net.URI</code></td><td width="" align="left"><code><a href="#method_resolve_uri">resolve_uri</a>(java.lang.String uri)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Resolve an URI</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_focus">set_focus</a>(Focus focus)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Set focus.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_variable">set_variable</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType val)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Set variable.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code></td><td width="" align="left"><code><a href="#method_tz">tz</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Reads the day from a TimeDuration type</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_context_item">context_item</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>context_item</strong>()</code></p><p>Get context item.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - the context item.</p><hr><h2><a name="method_context_position">context_position</a></h2><p><code>public int <strong>context_position</strong>()</code></p><p>Get context node position.</p><h3>Returns</h3><p><code>int</code> - position of context node.</p><hr><h2><a name="method_current_date_time">current_date_time</a></h2><p><code>public java.util.GregorianCalendar <strong>current_date_time</strong>()</code></p><p>Returns the current date time using the GregorianCalendar.</p><h3>Returns</h3><p><code>java.util.GregorianCalendar</code> - The current date and time, which will always be same for the dynamic context.</p><hr><h2><a name="method_evaluate_function">evaluate_function</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>evaluate_function</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
-         ,
-      java.util.Collection args)</code></p><p>Evaluate the function of the arguments.</p><h3>Parameters</h3><p><code>name</code> - is the name.</p><p><code>args</code> - are the arguments.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - result of the function evaluation.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError - dynamic error.</code></p><hr><h2><a name="method_focus">focus</a></h2><p><code>public Focus <strong>focus</strong>()</code></p><p>Return focus.</p><h3>Returns</h3><p><code>Focus</code> - Focus</p><hr><h2><a name="method_get_doc">get_doc</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>get_doc</strong>(java.net.URI uri)</code></p><p>Get document.</p><h3>Parameters</h3><p><code>uri</code> - is the URI of the document.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - document.</p><hr><h2><a name="method_get_variable">get_variable</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>get_variable</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p>Get variable.</p><h3>Parameters</h3><p><code>name</code> - is the name of the variable.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - variable.</p><hr><h2><a name="method_last">last</a></h2><p><code>public int <strong>last</strong>()</code></p><p>Get position of last item.</p><h3>Returns</h3><p><code>int</code> - last item position.</p><hr><h2><a name="method_resolve_uri">resolve_uri</a></h2><p><code>public java.net.URI <strong>resolve_uri</strong>(java.lang.String uri)</code></p><p>Resolve an URI</p><h3>Parameters</h3><p><code>uri</code> - is the possibly relative URI to resolve</p><h3>Returns</h3><p><code>java.net.URI</code> - the absolutized, resolved URI.</p><hr><h2><a name="method_set_focus">set_focus</a></h2><p><code>public void <strong>set_focus</strong>(Focus focus)</code></p><p>Set focus.</p><h3>Parameters</h3><p><code>focus</code> - is focus to be set.</p><hr><h2><a name="method_set_variable">set_variable</a></h2><p><code>public void <strong>set_variable</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType val)</code></p><p>Set variable.</p><h3>Parameters</h3><p><code>var</code> - is name of the variable.</p><p><code>val</code> - is the value to be set for the variable.</p><hr><h2><a name="method_tz">tz</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration <strong>tz</strong>()</code></p><p>Reads the day from a TimeDuration type</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code> - current date time and implicit timezone.</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DynamicError.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DynamicError.html
deleted file mode 100644
index 0090d47..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DynamicError.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
-               Class DynamicError</h2><br><hr><pre>public class <strong>DynamicError</strong>
-extends org.eclipse.wst.xml.xpath2.processor.XPathException</pre>Dynamic Error like division by 0 or type errors.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_DynamicError">DynamicError</a></strong>(java.lang.String code
-         ,
-      java.lang.String err)</code></td></tr><tr><td><code><strong><a href="#con_DynamicError">DynamicError</a></strong>(TypeError te)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_cant_cast">cant_cast</a>(java.lang.String err)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the dynamic error.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_code">code</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the string of the code.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_contextUndefined">contextUndefined</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_div_zero">div_zero</a>(java.lang.String msg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the error message when reads a Division by zero</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_doc_not_found">doc_not_found</a>(java.lang.String msg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the error message when fn:doc cannot load its document</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_empty_seq">empty_seq</a>(java.lang.String msg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the error message</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_invalid_doc">invalid_doc</a>(java.lang.String msg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the error message when reads Invalid argument to fn:doc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_invalidForCastConstructor">invalidForCastConstructor</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Data is invalid for casting or the data type constructor.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_invalidPrefix">invalidPrefix</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               No namespace found for prefix.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_lexical_error">lexical_error</a>(java.lang.String msg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the error message when reads an Invalid lexical value</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_more_one_item">more_one_item</a>(java.lang.String msg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the error message</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_noContextDoc">noContextDoc</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               No context document</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_not_cmp">not_cmp</a>(java.lang.String msg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the error message when reads an Items not comparable</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_not_one">not_one</a>(java.lang.String msg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the error message</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_numeric_overflow">numeric_overflow</a>(java.lang.String msg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Numeric operation overflow/underflow</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_regex_error">regex_error</a>(java.lang.String err)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the dynamic error.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_regex_flags_error">regex_flags_error</a>(java.lang.String err)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the Dynamic Error for invalid flags in regular expressions</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_regex_match_zero_length">regex_match_zero_length</a>(java.lang.String err)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the dynamic error.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_throw_type_error">throw_type_error</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the dynamic error.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_unsupported_codepoint">unsupported_codepoint</a>(java.lang.String err)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the dynamic error for an unsupported Unicode codepoint</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_unsupported_normalization_form">unsupported_normalization_form</a>(java.lang.String err)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the dynamic error for an unsupported normalization form</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_user_error">user_error</a>(java.lang.String ns
-         ,
-      java.lang.String code
-         ,
-      java.lang.String desc)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the dynamic error.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_user_error">user_error</a>(java.lang.String err)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the dynamic error.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_DynamicError">DynamicError</a></h2><p><code>public <strong>DynamicError</strong>(java.lang.String code
-         ,
-      java.lang.String err)</code></p><p>Constructor for Dynamic Error.</p><hr><h2><a name="con_DynamicError">DynamicError</a></h2><p><code>public <strong>DynamicError</strong>(TypeError te)</code></p><p>Constructor for Dynamic Error.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_cant_cast">cant_cast</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>cant_cast</strong>(java.lang.String err)</code></p><p>Returns the dynamic error.</p><h3>Parameters</h3><p><code>err</code> - is the error</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the DynamicError.</p><hr><h2><a name="method_code">code</a></h2><p><code>public java.lang.String <strong>code</strong>()</code></p><p>Returns the string of the code.</p><h3>Returns</h3><p><code>java.lang.String</code> - the code.</p><hr><h2><a name="method_contextUndefined">contextUndefined</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>contextUndefined</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_div_zero">div_zero</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>div_zero</strong>(java.lang.String msg)</code></p><p>Returns the error message when reads a Division by zero</p><h3>Parameters</h3><p><code>msg</code> - is the message</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the make_error</p><hr><h2><a name="method_doc_not_found">doc_not_found</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>doc_not_found</strong>(java.lang.String msg)</code></p><p>Returns the error message when fn:doc cannot load its document</p><h3>Parameters</h3><p><code>msg</code> - is the message</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the make_error</p><hr><h2><a name="method_empty_seq">empty_seq</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>empty_seq</strong>(java.lang.String msg)</code></p><p>Returns the error message</p><h3>Parameters</h3><p><code>msg</code> - is the message</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the make_error</p><hr><h2><a name="method_invalid_doc">invalid_doc</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>invalid_doc</strong>(java.lang.String msg)</code></p><p>Returns the error message when reads Invalid argument to fn:doc</p><h3>Parameters</h3><p><code>msg</code> - is the message</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the make_error</p><hr><h2><a name="method_invalidForCastConstructor">invalidForCastConstructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>invalidForCastConstructor</strong>()</code></p><p>Data is invalid for casting or the data type constructor.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - FORG0001</p><hr><h2><a name="method_invalidPrefix">invalidPrefix</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>invalidPrefix</strong>()</code></p><p>No namespace found for prefix.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_lexical_error">lexical_error</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>lexical_error</strong>(java.lang.String msg)</code></p><p>Returns the error message when reads an Invalid lexical value</p><h3>Parameters</h3><p><code>msg</code> - is the message</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the make_error</p><hr><h2><a name="method_more_one_item">more_one_item</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>more_one_item</strong>(java.lang.String msg)</code></p><p>Returns the error message</p><h3>Parameters</h3><p><code>msg</code> - is the message</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the make_error</p><hr><h2><a name="method_noContextDoc">noContextDoc</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>noContextDoc</strong>()</code></p><p>No context document</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_not_cmp">not_cmp</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>not_cmp</strong>(java.lang.String msg)</code></p><p>Returns the error message when reads an Items not comparable</p><h3>Parameters</h3><p><code>msg</code> - is the message</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the make_error</p><hr><h2><a name="method_not_one">not_one</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>not_one</strong>(java.lang.String msg)</code></p><p>Returns the error message</p><h3>Parameters</h3><p><code>msg</code> - is the message</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the make_error</p><hr><h2><a name="method_numeric_overflow">numeric_overflow</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>numeric_overflow</strong>(java.lang.String msg)</code></p><p>Numeric operation overflow/underflow</p><h3>Parameters</h3><p><code>msg</code> - is the message</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the make_error</p><hr><h2><a name="method_regex_error">regex_error</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>regex_error</strong>(java.lang.String err)</code></p><p>Returns the dynamic error.</p><h3>Parameters</h3><p><code>err</code> - is the error</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the DynamicError.</p><hr><h2><a name="method_regex_flags_error">regex_flags_error</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>regex_flags_error</strong>(java.lang.String err)</code></p><p>Returns the Dynamic Error for invalid flags in regular expressions</p><h3>Parameters</h3><p><code>err</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_regex_match_zero_length">regex_match_zero_length</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>regex_match_zero_length</strong>(java.lang.String err)</code></p><p>Returns the dynamic error.</p><h3>Parameters</h3><p><code>err</code> - is the error</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the DynamicError.</p><hr><h2><a name="method_throw_type_error">throw_type_error</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>throw_type_error</strong>()</code></p><p>Returns the dynamic error.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the DynamicError.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError - a Dynamic Error</code></p><hr><h2><a name="method_unsupported_codepoint">unsupported_codepoint</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>unsupported_codepoint</strong>(java.lang.String err)</code></p><p>Returns the dynamic error for an unsupported Unicode codepoint</p><h3>Parameters</h3><p><code>err</code> - is the error</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the DynamicError.</p><hr><h2><a name="method_unsupported_normalization_form">unsupported_normalization_form</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>unsupported_normalization_form</strong>(java.lang.String err)</code></p><p>Returns the dynamic error for an unsupported normalization form</p><h3>Parameters</h3><p><code>err</code> - is the error</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the DynamicError.</p><hr><h2><a name="method_user_error">user_error</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>user_error</strong>(java.lang.String ns
-         ,
-      java.lang.String code
-         ,
-      java.lang.String desc)</code></p><p>Returns the dynamic error.</p><h3>Parameters</h3><p><code>ns</code></p><p><code>code</code></p><p><code>desc</code> - is the description of the error</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the DynamicError.</p><hr><h2><a name="method_user_error">user_error</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>user_error</strong>(java.lang.String err)</code></p><p>Returns the dynamic error.</p><h3>Parameters</h3><p><code>err</code> - is the description of the error</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the DynamicError.</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.Evaluator.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.Evaluator.html
deleted file mode 100644
index 9088dd8..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.Evaluator.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
-               Class Evaluator</h2><br><hr><pre>public class <strong>Evaluator</strong>
-extends </pre>interface to Evaluator<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_evaluate">evaluate</a>(XPathNode root)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Evaluate the root node.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_evaluate">evaluate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>evaluate</strong>(XPathNode root)</code></p><p>Evaluate the root node.</p><h3>Parameters</h3><p><code>root</code> - is the XPath node.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - Result of evaluation.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError - dynamic error.</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.JFlexCupParser.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.JFlexCupParser.html
deleted file mode 100644
index 7994a35..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.JFlexCupParser.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
-               Class JFlexCupParser</h2><br><hr><pre>public class <strong>JFlexCupParser</strong>
-extends java.lang.Object</pre>JFlexCupParser parses the xpath expression<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_JFlexCupParser">JFlexCupParser</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ast.XPath</code></td><td width="" align="left"><code><a href="#method_parse">parse</a>(java.lang.String xpath)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Tries to parse the xpath expression</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_JFlexCupParser">JFlexCupParser</a></h2><p><code>public <strong>JFlexCupParser</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_parse">parse</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ast.XPath <strong>parse</strong>(java.lang.String xpath)</code></p><p>Tries to parse the xpath expression</p><h3>Parameters</h3><p><code>xpath</code> - is the xpath string.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ast.XPath</code> - the xpath value.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.XPathParserException</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.ResultSequence.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.ResultSequence.html
deleted file mode 100644
index dd812a6..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.ResultSequence.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
-               Class ResultSequence</h2><br><hr><pre>public class <strong>ResultSequence</strong>
-extends java.lang.Object</pre>Interface to the methods of range of result sequence<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_ResultSequence">ResultSequence</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_add">add</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType item)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               add item</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_clear">clear</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               clear</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_concat">concat</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               concatinate from rs</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_create_new">create_new</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               create a new result sequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_empty">empty</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               check is the sequence is empty</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_first">first</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               retrieve the first item</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_get">get</a>(int i)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               get item in index i</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.ListIterator</code></td><td width="" align="left"><code><a href="#method_iterator">iterator</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               List Iterator.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_release">release</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               release the result sequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_size">size</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               get the size</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string">string</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               retrieve items in sequence</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_ResultSequence">ResultSequence</a></h2><p><code>public <strong>ResultSequence</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_add">add</a></h2><p><code>public void <strong>add</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType item)</code></p><p>add item</p><h3>Parameters</h3><p><code>item</code> - is an item of any type.</p><hr><h2><a name="method_clear">clear</a></h2><p><code>public void <strong>clear</strong>()</code></p><p>clear</p><hr><h2><a name="method_concat">concat</a></h2><p><code>public void <strong>concat</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code></p><p>concatinate from rs</p><h3>Parameters</h3><p><code>rs</code> - is a Result Sequence.</p><hr><h2><a name="method_create_new">create_new</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>create_new</strong>()</code></p><p>create a new result sequence</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - a new result sequence.</p><hr><h2><a name="method_empty">empty</a></h2><p><code>public boolean <strong>empty</strong>()</code></p><p>check is the sequence is empty</p><h3>Returns</h3><p><code>boolean</code> - boolean.</p><hr><h2><a name="method_first">first</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>first</strong>()</code></p><p>retrieve the first item</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - the first item.</p><hr><h2><a name="method_get">get</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>get</strong>(int i)</code></p><p>get item in index i</p><h3>Parameters</h3><p><code>i</code> - is the position.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></p><hr><h2><a name="method_iterator">iterator</a></h2><p><code>public java.util.ListIterator <strong>iterator</strong>()</code></p><p>List Iterator.</p><h3>Returns</h3><p><code>java.util.ListIterator</code></p><hr><h2><a name="method_release">release</a></h2><p><code>public void <strong>release</strong>()</code></p><p>release the result sequence</p><hr><h2><a name="method_size">size</a></h2><p><code>public int <strong>size</strong>()</code></p><p>get the size</p><h3>Returns</h3><p><code>int</code> - the size.</p><hr><h2><a name="method_string">string</a></h2><p><code>public java.lang.String <strong>string</strong>()</code></p><p>retrieve items in sequence</p><h3>Returns</h3><p><code>java.lang.String</code> - result string</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory.html
deleted file mode 100644
index eed647a..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
-               Class ResultSequenceFactory</h2><br><hr><pre>public class <strong>ResultSequenceFactory</strong>
-extends java.lang.Object</pre>Result sequence factory<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_ResultSequenceFactory">ResultSequenceFactory</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_create_new">create_new</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_create_new">create_new</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType item)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_fact_create_new">fact_create_new</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_fact_create_new">fact_create_new</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType item)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_fact_print_debug">fact_print_debug</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_fact_release">fact_release</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code><a href="#method_print_debug">print_debug</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               factory debug</td></tr><tr valign="top"><td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code><a href="#method_release">release</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_ResultSequenceFactory">ResultSequenceFactory</a></h2><p><code>public <strong>ResultSequenceFactory</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_create_new">create_new</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>create_new</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - the creation of a new result sequence</p><hr><h2><a name="method_create_new">create_new</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>create_new</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType item)</code></p><p></p><h3>Parameters</h3><p><code>item</code> - is an item of any type.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - factory creating new item</p><hr><h2><a name="method_fact_create_new">fact_create_new</a></h2><p><code>protected org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>fact_create_new</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></p><hr><h2><a name="method_fact_create_new">fact_create_new</a></h2><p><code>protected org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>fact_create_new</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType item)</code></p><p></p><h3>Parameters</h3><p><code>item</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></p><hr><h2><a name="method_fact_print_debug">fact_print_debug</a></h2><p><code>protected void <strong>fact_print_debug</strong>()</code></p><p></p><hr><h2><a name="method_fact_release">fact_release</a></h2><p><code>protected void <strong>fact_release</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code></p><p></p><h3>Parameters</h3><p><code>rs</code></p><hr><h2><a name="method_print_debug">print_debug</a></h2><p><code>public void <strong>print_debug</strong>()</code></p><p>factory debug</p><hr><h2><a name="method_release">release</a></h2><p><code>public void <strong>release</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code></p><p></p><h3>Parameters</h3><p><code>rs</code> - is the result sequence factory release rs</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticChecker.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticChecker.html
deleted file mode 100644
index 7edb0ca..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticChecker.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
-               Class StaticChecker</h2><br><hr><pre>public class <strong>StaticChecker</strong>
-extends </pre>Interface to static checker.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_check">check</a>(XPathNode root)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               checks XPathNode</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_check">check</a></h2><p><code>public void <strong>check</strong>(XPathNode root)</code></p><p>checks XPathNode</p><h3>Parameters</h3><p><code>root</code> - is an XPath node.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.StaticError</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticContext.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticContext.html
deleted file mode 100644
index aed72e6..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticContext.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
-               Class StaticContext</h2><br><hr><pre>public class <strong>StaticContext</strong>
-extends </pre>interface to static context<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_add_function_library">add_function_library</a>(FunctionLibrary fl)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               add function to library</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_add_namespace">add_namespace</a>(java.lang.String prefix
-         ,
-      java.lang.String ns)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               add namespace</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_add_variable">add_variable</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               add variable</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_attribute_declared">attribute_declared</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName attr)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               is the attribute declared?</td></tr><tr valign="top"><td width="20%" align="right"><code>public XSTypeDefinition</code></td><td width="" align="left"><code><a href="#method_attribute_type_definition">attribute_type_definition</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName attr)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI</code></td><td width="" align="left"><code><a href="#method_base_uri">base_uri</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               base uri</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_default_function_namespace">default_function_namespace</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               the default function namespace</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_default_namespace">default_namespace</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               the default namespace</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_del_variable">del_variable</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               delete the variable</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_derives_from">derives_from</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType at
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.QName et)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_derives_from">derives_from</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType at
-         ,
-      XSTypeDefinition et)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_destroy_scope">destroy_scope</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               destroy scope</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_element_declared">element_declared</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName elem)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               is the element declared?</td></tr><tr valign="top"><td width="20%" align="right"><code>public XSTypeDefinition</code></td><td width="" align="left"><code><a href="#method_element_type_definition">element_type_definition</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName elem)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_expand_elem_type_qname">expand_elem_type_qname</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               expand element type qname</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_expand_function_qname">expand_function_qname</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               expand function</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_expand_qname">expand_qname</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               expand qname</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_function_exists">function_exists</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
-         ,
-      int arity)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               is the element declared?</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType</code></td><td width="" align="left"><code><a href="#method_make_atomic">make_atomic</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_new_scope">new_scope</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               new scope</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_prefix_exists">prefix_exists</a>(java.lang.String prefix)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               namespaces does the prefix exist</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_resolve_prefix">resolve_prefix</a>(java.lang.String prefix)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_base_uri">set_base_uri</a>(java.lang.String baseuri)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Sets the base uri for the context.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_type_defined">type_defined</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_variable_exists">variable_exists</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_variable_in_scope">variable_in_scope</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_xpath1_compatible">xpath1_compatible</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               is it xpath 1.0 compatible.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_add_function_library">add_function_library</a></h2><p><code>public void <strong>add_function_library</strong>(FunctionLibrary fl)</code></p><p>add function to library</p><h3>Parameters</h3><p><code>fl</code> - is the function library</p><hr><h2><a name="method_add_namespace">add_namespace</a></h2><p><code>public void <strong>add_namespace</strong>(java.lang.String prefix
-         ,
-      java.lang.String ns)</code></p><p>add namespace</p><h3>Parameters</h3><p><code>prefix</code> - the prefix of the namespace</p><p><code>ns</code> - is the XSTypeDefinition of the node</p><hr><h2><a name="method_add_variable">add_variable</a></h2><p><code>public void <strong>add_variable</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p>add variable</p><h3>Parameters</h3><p><code>name</code> - is the qname</p><hr><h2><a name="method_attribute_declared">attribute_declared</a></h2><p><code>public boolean <strong>attribute_declared</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName attr)</code></p><p>is the attribute declared?</p><h3>Parameters</h3><p><code>attr</code> - is the attribute of the qname</p><h3>Returns</h3><p><code>boolean</code> - boolean</p><hr><h2><a name="method_attribute_type_definition">attribute_type_definition</a></h2><p><code>public XSTypeDefinition <strong>attribute_type_definition</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName attr)</code></p><p></p><h3>Parameters</h3><p><code>attr</code> - is the qname variable</p><h3>Returns</h3><p><code>XSTypeDefinition</code> - attributes's type definition</p><hr><h2><a name="method_base_uri">base_uri</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI <strong>base_uri</strong>()</code></p><p>base uri</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI</code> - uri</p><hr><h2><a name="method_default_function_namespace">default_function_namespace</a></h2><p><code>public java.lang.String <strong>default_function_namespace</strong>()</code></p><p>the default function namespace</p><h3>Returns</h3><p><code>java.lang.String</code> - string</p><hr><h2><a name="method_default_namespace">default_namespace</a></h2><p><code>public java.lang.String <strong>default_namespace</strong>()</code></p><p>the default namespace</p><h3>Returns</h3><p><code>java.lang.String</code> - string</p><hr><h2><a name="method_del_variable">del_variable</a></h2><p><code>public boolean <strong>del_variable</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p>delete the variable</p><h3>Parameters</h3><p><code>name</code> - is the qname</p><h3>Returns</h3><p><code>boolean</code> - boolean if deleted variable</p><hr><h2><a name="method_derives_from">derives_from</a></h2><p><code>public boolean <strong>derives_from</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType at
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.QName et)</code></p><p></p><h3>Parameters</h3><p><code>at</code> - the node type</p><p><code>et</code> - is the qname</p><h3>Returns</h3><p><code>boolean</code> - boolean</p><hr><h2><a name="method_derives_from">derives_from</a></h2><p><code>public boolean <strong>derives_from</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType at
-         ,
-      XSTypeDefinition et)</code></p><p></p><h3>Parameters</h3><p><code>at</code> - the node type</p><p><code>et</code> - is the XSTypeDefinition of the node</p><h3>Returns</h3><p><code>boolean</code> - boolean</p><hr><h2><a name="method_destroy_scope">destroy_scope</a></h2><p><code>public void <strong>destroy_scope</strong>()</code></p><p>destroy scope</p><hr><h2><a name="method_element_declared">element_declared</a></h2><p><code>public boolean <strong>element_declared</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName elem)</code></p><p>is the element declared?</p><h3>Parameters</h3><p><code>elem</code> - is the elem of the qname</p><h3>Returns</h3><p><code>boolean</code> - boolean</p><hr><h2><a name="method_element_type_definition">element_type_definition</a></h2><p><code>public XSTypeDefinition <strong>element_type_definition</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName elem)</code></p><p></p><h3>Parameters</h3><p><code>elem</code> - is the elem of the qname</p><h3>Returns</h3><p><code>XSTypeDefinition</code> - element's type definition</p><hr><h2><a name="method_expand_elem_type_qname">expand_elem_type_qname</a></h2><p><code>public boolean <strong>expand_elem_type_qname</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p>expand element type qname</p><h3>Parameters</h3><p><code>name</code> - is the qname</p><h3>Returns</h3><p><code>boolean</code> - boolean if function can be expanded</p><hr><h2><a name="method_expand_function_qname">expand_function_qname</a></h2><p><code>public boolean <strong>expand_function_qname</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p>expand function</p><h3>Parameters</h3><p><code>name</code> - is the qname</p><h3>Returns</h3><p><code>boolean</code> - boolean if function can be expanded</p><hr><h2><a name="method_expand_qname">expand_qname</a></h2><p><code>public boolean <strong>expand_qname</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p>expand qname</p><h3>Parameters</h3><p><code>name</code> - is the qname</p><h3>Returns</h3><p><code>boolean</code> - boolean if function can be expanded</p><hr><h2><a name="method_function_exists">function_exists</a></h2><p><code>public boolean <strong>function_exists</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
-         ,
-      int arity)</code></p><p>is the element declared?</p><h3>Parameters</h3><p><code>name</code> - is the qname name</p><p><code>arity</code> - integer of qname</p><h3>Returns</h3><p><code>boolean</code> - boolean</p><hr><h2><a name="method_make_atomic">make_atomic</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType <strong>make_atomic</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p></p><h3>Parameters</h3><p><code>name</code> - is the qname</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType</code> - any atomic type</p><hr><h2><a name="method_new_scope">new_scope</a></h2><p><code>public void <strong>new_scope</strong>()</code></p><p>new scope</p><hr><h2><a name="method_prefix_exists">prefix_exists</a></h2><p><code>public boolean <strong>prefix_exists</strong>(java.lang.String prefix)</code></p><p>namespaces does the prefix exist</p><h3>Parameters</h3><p><code>prefix</code> - is the prefix</p><h3>Returns</h3><p><code>boolean</code> - boolean</p><hr><h2><a name="method_resolve_prefix">resolve_prefix</a></h2><p><code>public java.lang.String <strong>resolve_prefix</strong>(java.lang.String prefix)</code></p><p></p><h3>Parameters</h3><p><code>prefix</code> - is the prefix</p><h3>Returns</h3><p><code>java.lang.String</code> - string</p><hr><h2><a name="method_set_base_uri">set_base_uri</a></h2><p><code>public void <strong>set_base_uri</strong>(java.lang.String baseuri)</code></p><p>Sets the base uri for the context.</p><h3>Parameters</h3><p><code>baseuri</code></p><hr><h2><a name="method_type_defined">type_defined</a></h2><p><code>public boolean <strong>type_defined</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p></p><h3>Parameters</h3><p><code>name</code> - is qname</p><h3>Returns</h3><p><code>boolean</code> - boolean</p><hr><h2><a name="method_variable_exists">variable_exists</a></h2><p><code>public boolean <strong>variable_exists</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p></p><h3>Parameters</h3><p><code>name</code> - is the qname</p><h3>Returns</h3><p><code>boolean</code> - boolean if variable exists</p><hr><h2><a name="method_variable_in_scope">variable_in_scope</a></h2><p><code>public boolean <strong>variable_in_scope</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var)</code></p><p></p><h3>Parameters</h3><p><code>var</code> - is the variable of qname</p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_xpath1_compatible">xpath1_compatible</a></h2><p><code>public boolean <strong>xpath1_compatible</strong>()</code></p><p>is it xpath 1.0 compatible.</p><h3>Returns</h3><p><code>boolean</code> - boolean</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticError.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticError.html
deleted file mode 100644
index eda4f22..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticError.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
-               Class StaticError</h2><br><hr><pre>public class <strong>StaticError</strong>
-extends org.eclipse.wst.xml.xpath2.processor.XPathException</pre>Base class for all static errors as defined by the XPath 2.0 specification<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_StaticError">StaticError</a></strong>(java.lang.String code
-         ,
-      java.lang.String err)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_code">code</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_StaticError">StaticError</a></h2><p><code>public <strong>StaticError</strong>(java.lang.String code
-         ,
-      java.lang.String err)</code></p><p>Constructor for a generic static error</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_code">code</a></h2><p><code>public java.lang.String <strong>code</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code> - error code which represents the error</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.html
deleted file mode 100644
index 3a04c3c..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.html
+++ /dev/null
@@ -1,121 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
-               Class StaticNameResolver</h2><br><hr><pre>public class <strong>StaticNameResolver</strong>
-extends java.lang.Object</pre>This class resolves static names.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_StaticNameResolver">StaticNameResolver</a></strong>(org.eclipse.wst.xml.xpath2.processor.StaticContext sc)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_check">check</a>(XPathNode node)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Check the XPath node.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_printBinExpr">printBinExpr</a>(java.lang.String name
-         ,
-      BinExpr e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a binary expression by checking its left and right children.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_printUnExpr">printUnExpr</a>(java.lang.String name
-         ,
-      UnExpr e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a unary expression by checking its one child.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.ast.XPath xp)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate an XPath by visiting all the nodes.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(ForExpr fex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a for expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(QuantifiedExpr qex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a quantified expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(IfExpr ifex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate an if expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(OrExpr orex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate an OR expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(AndExpr andex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate an AND expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(CmpExpr cmpex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a comparison expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(RangeExpr rex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a range expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(AddExpr addex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate an additon expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(SubExpr subex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a subtraction expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(MulExpr mulex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a multiplication expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(DivExpr mulex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a division expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(IDivExpr mulex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate an integer divison expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(ModExpr mulex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a mod expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(UnionExpr unex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a union expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(PipeExpr pipex)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a piped expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(IntersectExpr iexpr)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate an intersection expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(ExceptExpr eexpr)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate an except expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(InstOfExpr ioexp)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate an 'instance of' expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(TreatAsExpr taexp)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a 'treat as' expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(CastableExpr cexp)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a castable expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(CastExpr cexp)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a cast expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(MinusExpr e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a minus expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(PlusExpr e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a plus expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(XPathExpr e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate an xpath expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(ForwardStep e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a forward step.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(ReverseStep e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a reverse step.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(NameTest e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a name test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(VarRef e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a variable reference.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(StringLiteral e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a string literal.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(IntegerLiteral e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate an integer literal.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(DoubleLiteral e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a double literal.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(DecimalLiteral e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a decimal literal.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(ParExpr e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a parenthesized expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(CntxItemExpr e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a context item expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(FunctionCall e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a function call.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(SingleType e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a single type.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(SequenceType e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a sequence type.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(ItemType e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate an item type.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(AnyKindTest e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate an any kind test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(DocumentTest e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a document test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(TextTest e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a text test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(CommentTest e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a comment test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(PITest e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a processing instructing test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(AttributeTest e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate an attribute test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(SchemaAttrTest e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a schema attribute test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(ElementTest e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate an element test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(SchemaElemTest e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a schema element test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(AxisStep e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate an axis step.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(FilterExpr e)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Validate a filter expression.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_StaticNameResolver">StaticNameResolver</a></h2><p><code>public <strong>StaticNameResolver</strong>(org.eclipse.wst.xml.xpath2.processor.StaticContext sc)</code></p><p>Constructor for static name resolver</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_check">check</a></h2><p><code>public void <strong>check</strong>(XPathNode node)</code></p><p>Check the XPath node.</p><h3>Parameters</h3><p><code>node</code> - is the XPath node to check.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.StaticError - static error.</code></p><hr><h2><a name="method_printBinExpr">printBinExpr</a></h2><p><code>public void <strong>printBinExpr</strong>(java.lang.String name
-         ,
-      BinExpr e)</code></p><p>Validate a binary expression by checking its left and right children.</p><h3>Parameters</h3><p><code>name</code> - is the name of the binary expression.</p><p><code>e</code> - is the expression itself.</p><hr><h2><a name="method_printUnExpr">printUnExpr</a></h2><p><code>public void <strong>printUnExpr</strong>(java.lang.String name
-         ,
-      UnExpr e)</code></p><p>Validate a unary expression by checking its one child.</p><h3>Parameters</h3><p><code>name</code> - is the name of the expression.</p><p><code>e</code> - is the expression itself.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.ast.XPath xp)</code></p><p>Validate an XPath by visiting all the nodes.</p><h3>Parameters</h3><p><code>xp</code> - is the XPath.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(ForExpr fex)</code></p><p>Validate a for expression.</p><h3>Parameters</h3><p><code>fex</code> - is the for expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(QuantifiedExpr qex)</code></p><p>Validate a quantified expression.</p><h3>Parameters</h3><p><code>qex</code> - is the quantified expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(IfExpr ifex)</code></p><p>Validate an if expression.</p><h3>Parameters</h3><p><code>ifex</code> - is the if expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(OrExpr orex)</code></p><p>Validate an OR expression.</p><h3>Parameters</h3><p><code>orex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(AndExpr andex)</code></p><p>Validate an AND expression.</p><h3>Parameters</h3><p><code>andex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(CmpExpr cmpex)</code></p><p>Validate a comparison expression.</p><h3>Parameters</h3><p><code>cmpex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(RangeExpr rex)</code></p><p>Validate a range expression.</p><h3>Parameters</h3><p><code>rex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(AddExpr addex)</code></p><p>Validate an additon expression.</p><h3>Parameters</h3><p><code>addex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(SubExpr subex)</code></p><p>Validate a subtraction expression.</p><h3>Parameters</h3><p><code>subex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(MulExpr mulex)</code></p><p>Validate a multiplication expression.</p><h3>Parameters</h3><p><code>mulex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(DivExpr mulex)</code></p><p>Validate a division expression.</p><h3>Parameters</h3><p><code>mulex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(IDivExpr mulex)</code></p><p>Validate an integer divison expression.</p><h3>Parameters</h3><p><code>mulex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(ModExpr mulex)</code></p><p>Validate a mod expression.</p><h3>Parameters</h3><p><code>mulex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(UnionExpr unex)</code></p><p>Validate a union expression.</p><h3>Parameters</h3><p><code>unex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(PipeExpr pipex)</code></p><p>Validate a piped expression.</p><h3>Parameters</h3><p><code>pipex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(IntersectExpr iexpr)</code></p><p>Validate an intersection expression.</p><h3>Parameters</h3><p><code>iexpr</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(ExceptExpr eexpr)</code></p><p>Validate an except expression.</p><h3>Parameters</h3><p><code>eexpr</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(InstOfExpr ioexp)</code></p><p>Validate an 'instance of' expression.</p><h3>Parameters</h3><p><code>ioexp</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(TreatAsExpr taexp)</code></p><p>Validate a 'treat as' expression.</p><h3>Parameters</h3><p><code>taexp</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(CastableExpr cexp)</code></p><p>Validate a castable expression.</p><h3>Parameters</h3><p><code>cexp</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(CastExpr cexp)</code></p><p>Validate a cast expression.</p><h3>Parameters</h3><p><code>cexp</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(MinusExpr e)</code></p><p>Validate a minus expression.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(PlusExpr e)</code></p><p>Validate a plus expression.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(XPathExpr e)</code></p><p>Validate an xpath expression.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(ForwardStep e)</code></p><p>Validate a forward step.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(ReverseStep e)</code></p><p>Validate a reverse step.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(NameTest e)</code></p><p>Validate a name test.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(VarRef e)</code></p><p>Validate a variable reference.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(StringLiteral e)</code></p><p>Validate a string literal.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(IntegerLiteral e)</code></p><p>Validate an integer literal.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(DoubleLiteral e)</code></p><p>Validate a double literal.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(DecimalLiteral e)</code></p><p>Validate a decimal literal.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(ParExpr e)</code></p><p>Validate a parenthesized expression.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(CntxItemExpr e)</code></p><p>Validate a context item expression.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(FunctionCall e)</code></p><p>Validate a function call.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(SingleType e)</code></p><p>Validate a single type.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(SequenceType e)</code></p><p>Validate a sequence type.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(ItemType e)</code></p><p>Validate an item type.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(AnyKindTest e)</code></p><p>Validate an any kind test.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(DocumentTest e)</code></p><p>Validate a document test.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(TextTest e)</code></p><p>Validate a text test.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(CommentTest e)</code></p><p>Validate a comment test.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(PITest e)</code></p><p>Validate a processing instructing test.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(AttributeTest e)</code></p><p>Validate an attribute test.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(SchemaAttrTest e)</code></p><p>Validate a schema attribute test.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(ElementTest e)</code></p><p>Validate an element test.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(SchemaElemTest e)</code></p><p>Validate a schema element test.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(AxisStep e)</code></p><p>Validate an axis step.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(FilterExpr e)</code></p><p>Validate a filter expression.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XPathException.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XPathException.html
deleted file mode 100644
index c12ee7c..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XPathException.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
-               Class XPathException</h2><br><hr><pre>public class <strong>XPathException</strong>
-extends java.lang.Exception</pre>This exception is thrown when there is a problem with an XPath exception.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XPathException">XPathException</a></strong>(java.lang.String reason)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_reason">reason</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               The reason why the exception has been thrown.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XPathException">XPathException</a></h2><p><code>public <strong>XPathException</strong>(java.lang.String reason)</code></p><p>Constructor for XPathException</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_reason">reason</a></h2><p><code>public java.lang.String <strong>reason</strong>()</code></p><p>The reason why the exception has been thrown.</p><h3>Returns</h3><p><code>java.lang.String</code> - the reason why the exception has been throw.</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XPathParser.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XPathParser.html
deleted file mode 100644
index 651df74..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XPathParser.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
-               Class XPathParser</h2><br><hr><pre>public class <strong>XPathParser</strong>
-extends </pre>This is an interface class for the XPath parser.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ast.XPath</code></td><td width="" align="left"><code><a href="#method_parse">parse</a>(java.lang.String xpath)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Constructor for the XPath parser interface.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_parse">parse</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ast.XPath <strong>parse</strong>(java.lang.String xpath)</code></p><p>Constructor for the XPath parser interface.</p><h3>Parameters</h3><p><code>xpath</code> - is the input XPath to be parsed.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ast.XPath</code> - The parsed XPath.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.XPathParserException - XPath parser exception.</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XPathParserException.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XPathParserException.html
deleted file mode 100644
index e5258b5..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XPathParserException.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
-               Class XPathParserException</h2><br><hr><pre>public class <strong>XPathParserException</strong>
-extends org.eclipse.wst.xml.xpath2.processor.StaticError</pre>This exception is thrown if there is a problem with the XPath parser.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_INVALID_XPATH_EXPRESSION">INVALID_XPATH_EXPRESSION</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               The type of exception.</td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XPathParserException">XPathParserException</a></strong>(java.lang.String reason)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Field Detail
-               </h2></td></tr></table><h2><a name="field_INVALID_XPATH_EXPRESSION">INVALID_XPATH_EXPRESSION</a></h2><p><code>public static  java.lang.String <strong>INVALID_XPATH_EXPRESSION</strong></code></p><table><tr><td>The type of exception.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XPathParserException">XPathParserException</a></h2><p><code>public <strong>XPathParserException</strong>(java.lang.String reason)</code></p><p>Constructor for XPathParserException.</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XercesLoader.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XercesLoader.html
deleted file mode 100644
index e9b7fa1..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XercesLoader.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
-               Class XercesLoader</h2><br><hr><pre>public class <strong>XercesLoader</strong>
-extends java.lang.Object</pre>Xerces loader class. The loading is always namespace aware.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private javax.xml.validation.Schema</code></td><td width="80%" align="left"><code><a href="#field__schema">_schema</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private boolean</code></td><td width="80%" align="left"><code><a href="#field__validating">_validating</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_DOCUMENT_IMPLEMENTATION_PROPERTY">DOCUMENT_IMPLEMENTATION_PROPERTY</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_DOCUMENT_PSVI_IMPLEMENTATION">DOCUMENT_PSVI_IMPLEMENTATION</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_DYNAMIC_VALIDATION_FEATURE">DYNAMIC_VALIDATION_FEATURE</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_JAXP_SCHEMA_LANGUAGE">JAXP_SCHEMA_LANGUAGE</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_LOAD_EXTERNAL_DTD_FEATURE">LOAD_EXTERNAL_DTD_FEATURE</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_NAMESPACES_FEATURE">NAMESPACES_FEATURE</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_SCHEMA_FULL_CHECKING_FEATURE">SCHEMA_FULL_CHECKING_FEATURE</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_SCHEMA_VALIDATION_FEATURE">SCHEMA_VALIDATION_FEATURE</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_VALIDATION_FEATURE">VALIDATION_FEATURE</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_W3C_XML_SCHEMA">W3C_XML_SCHEMA</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XercesLoader">XercesLoader</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XercesLoader">XercesLoader</a></strong>(javax.xml.validation.Schema schema)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.w3c.dom.Document</code></td><td width="" align="left"><code><a href="#method_load">load</a>(java.io.InputStream in)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               The Xerces loader loads the XML document</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_validating">set_validating</a>(boolean x)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Set validating boolean.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Field Detail
-               </h2></td></tr></table><h2><a name="field__schema">_schema</a></h2><p><code>package-private javax.xml.validation.Schema <strong>_schema</strong></code></p><hr><h2><a name="field__validating">_validating</a></h2><p><code>package-private boolean <strong>_validating</strong></code></p><hr><h2><a name="field_DOCUMENT_IMPLEMENTATION_PROPERTY">DOCUMENT_IMPLEMENTATION_PROPERTY</a></h2><p><code>public static  java.lang.String <strong>DOCUMENT_IMPLEMENTATION_PROPERTY</strong></code></p><hr><h2><a name="field_DOCUMENT_PSVI_IMPLEMENTATION">DOCUMENT_PSVI_IMPLEMENTATION</a></h2><p><code>public static  java.lang.String <strong>DOCUMENT_PSVI_IMPLEMENTATION</strong></code></p><hr><h2><a name="field_DYNAMIC_VALIDATION_FEATURE">DYNAMIC_VALIDATION_FEATURE</a></h2><p><code>public static  java.lang.String <strong>DYNAMIC_VALIDATION_FEATURE</strong></code></p><hr><h2><a name="field_JAXP_SCHEMA_LANGUAGE">JAXP_SCHEMA_LANGUAGE</a></h2><p><code>public static  java.lang.String <strong>JAXP_SCHEMA_LANGUAGE</strong></code></p><hr><h2><a name="field_LOAD_EXTERNAL_DTD_FEATURE">LOAD_EXTERNAL_DTD_FEATURE</a></h2><p><code>public static  java.lang.String <strong>LOAD_EXTERNAL_DTD_FEATURE</strong></code></p><hr><h2><a name="field_NAMESPACES_FEATURE">NAMESPACES_FEATURE</a></h2><p><code>public static  java.lang.String <strong>NAMESPACES_FEATURE</strong></code></p><hr><h2><a name="field_SCHEMA_FULL_CHECKING_FEATURE">SCHEMA_FULL_CHECKING_FEATURE</a></h2><p><code>public static  java.lang.String <strong>SCHEMA_FULL_CHECKING_FEATURE</strong></code></p><hr><h2><a name="field_SCHEMA_VALIDATION_FEATURE">SCHEMA_VALIDATION_FEATURE</a></h2><p><code>public static  java.lang.String <strong>SCHEMA_VALIDATION_FEATURE</strong></code></p><hr><h2><a name="field_VALIDATION_FEATURE">VALIDATION_FEATURE</a></h2><p><code>public static  java.lang.String <strong>VALIDATION_FEATURE</strong></code></p><hr><h2><a name="field_W3C_XML_SCHEMA">W3C_XML_SCHEMA</a></h2><p><code>public static  java.lang.String <strong>W3C_XML_SCHEMA</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XercesLoader">XercesLoader</a></h2><p><code>public <strong>XercesLoader</strong>()</code></p><p>Constructor for Xerces loader.</p><hr><h2><a name="con_XercesLoader">XercesLoader</a></h2><p><code>public <strong>XercesLoader</strong>(javax.xml.validation.Schema schema)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_load">load</a></h2><p><code>public org.w3c.dom.Document <strong>load</strong>(java.io.InputStream in)</code></p><p>The Xerces loader loads the XML document</p><h3>Parameters</h3><p><code>in</code> - is the input stream.</p><h3>Returns</h3><p><code>org.w3c.dom.Document</code> - The loaded document.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DOMLoaderException - DOM loader exception.</code></p><hr><h2><a name="method_set_validating">set_validating</a></h2><p><code>public void <strong>set_validating</strong>(boolean x)</code></p><p>Set validating boolean.</p><h3>Parameters</h3><p><code>x</code> - is the value to set the validating boolean to.</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.ast.XPath.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.ast.XPath.html
deleted file mode 100644
index 4494ee4..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.ast.XPath.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.ast</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.ast</strong></font><br>
-               Class XPath</h2><br><hr><pre>public class <strong>XPath</strong>
-extends XPathNode</pre>Support for XPath.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XPath">XPath</a></strong>(java.util.Collection exprs)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_accept">accept</a>(XPathVisitor v)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Support for Visitor interface.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Iterator</code></td><td width="" align="left"><code><a href="#method_iterator">iterator</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Support for Iterator interface.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XPath">XPath</a></h2><p><code>public <strong>XPath</strong>(java.util.Collection exprs)</code></p><p>Constructor for XPath.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_accept">accept</a></h2><p><code>public java.lang.Object <strong>accept</strong>(XPathVisitor v)</code></p><p>Support for Visitor interface.</p><h3>Parameters</h3><p><code>v</code></p><h3>Returns</h3><p><code>java.lang.Object</code> - Result of Visitor operation.</p><hr><h2><a name="method_iterator">iterator</a></h2><p><code>public java.util.Iterator <strong>iterator</strong>()</code></p><p>Support for Iterator interface.</p><h3>Returns</h3><p><code>java.util.Iterator</code> - Result of Iterator operation.</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.function.FnFunctionLibrary.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.function.FnFunctionLibrary.html
deleted file mode 100644
index 101922c..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.function.FnFunctionLibrary.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.function</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.function</strong></font><br>
-               Class FnFunctionLibrary</h2><br><hr><pre>public class <strong>FnFunctionLibrary</strong>
-extends FunctionLibrary</pre>Maintains a library of core functions and user defined functions.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPATH_FUNCTIONS_NS">XPATH_FUNCTIONS_NS</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Path to xpath functions specification.</td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_FnFunctionLibrary">FnFunctionLibrary</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Field Detail
-               </h2></td></tr></table><h2><a name="field_XPATH_FUNCTIONS_NS">XPATH_FUNCTIONS_NS</a></h2><p><code>public static  java.lang.String <strong>XPATH_FUNCTIONS_NS</strong></code></p><table><tr><td>Path to xpath functions specification.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_FnFunctionLibrary">FnFunctionLibrary</a></h2><p><code>public <strong>FnFunctionLibrary</strong>()</code></p><p>Constructor for FnFunctionLibrary.</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.function.XSCtrLibrary.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.function.XSCtrLibrary.html
deleted file mode 100644
index d4c7858..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.function.XSCtrLibrary.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.function</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.function</strong></font><br>
-               Class XSCtrLibrary</h2><br><hr><pre>public class <strong>XSCtrLibrary</strong>
-extends ConstructorFL</pre>XML Schema control library support.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XML_SCHEMA_NS">XML_SCHEMA_NS</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Path to w3.org XML Schema specification.</td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSCtrLibrary">XSCtrLibrary</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Field Detail
-               </h2></td></tr></table><h2><a name="field_XML_SCHEMA_NS">XML_SCHEMA_NS</a></h2><p><code>public static  java.lang.String <strong>XML_SCHEMA_NS</strong></code></p><table><tr><td>Path to w3.org XML Schema specification.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSCtrLibrary">XSCtrLibrary</a></h2><p><code>public <strong>XSCtrLibrary</strong>()</code></p><p>Constructor for XSCtrLibrary.</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType.html
deleted file mode 100644
index c27ea39..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class AnyAtomicType</h2><br><hr><pre>public class <strong>AnyAtomicType</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.AnySimpleType</pre>Common base for every atomic type<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_AnyAtomicType">AnyAtomicType</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_AnyAtomicType">AnyAtomicType</a></h2><p><code>public <strong>AnyAtomicType</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.AnySimpleType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.AnySimpleType.html
deleted file mode 100644
index 724088d..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.AnySimpleType.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class AnySimpleType</h2><br><hr><pre>public class <strong>AnySimpleType</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</pre>Common base for every simple type<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_AnySimpleType">AnySimpleType</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_AnySimpleType">AnySimpleType</a></h2><p><code>public <strong>AnySimpleType</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType.html
deleted file mode 100644
index 0ed53a8..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class AnyType</h2><br><hr><pre>public class <strong>AnyType</strong>
-extends java.lang.Object</pre>Common base for every type<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_AnyType">AnyType</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_AnyType">AnyType</a></h2><p><code>public <strong>AnyType</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - Datatype's full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - Datatype's name</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.AttrType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.AttrType.html
deleted file mode 100644
index a683ac0..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.AttrType.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class AttrType</h2><br><hr><pre>public class <strong>AttrType</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType</pre>A representation of the AttributeType datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_AttrType">AttrType</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_AttrType">AttrType</a></strong>(org.w3c.dom.Attr v)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code><a href="#method_isAttrType">isAttrType</a>(java.lang.String typeName)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isID">isID</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isIDREF">isIDREF</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code></td><td width="" align="left"><code><a href="#method_node_name">node_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the name of the node</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the attribute being stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_typed_value">typed_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the attribute being stored</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_AttrType">AttrType</a></h2><p><code>public <strong>AttrType</strong>()</code></p><p>Initialises to null</p><hr><h2><a name="con_AttrType">AttrType</a></h2><p><code>public <strong>AttrType</strong>(org.w3c.dom.Attr v)</code></p><p>Initialises according to the supplied parameters</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_isAttrType">isAttrType</a></h2><p><code>protected boolean <strong>isAttrType</strong>(java.lang.String typeName)</code></p><p></p><h3>Parameters</h3><p><code>typeName</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_isID">isID</a></h2><p><code>public boolean <strong>isID</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_isIDREF">isIDREF</a></h2><p><code>public boolean <strong>isIDREF</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_node_name">node_name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>node_name</strong>()</code></p><p>Retrieves the name of the node</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code> - Name of the node</p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "attribute" which is the datatype's full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the attribute being stored</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the attribute being stored</p><hr><h2><a name="method_typed_value">typed_value</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>typed_value</strong>()</code></p><p>Creates a new ResultSequence consisting of the attribute being stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the attribute being stored</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType.html
deleted file mode 100644
index 88ca0dd..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class CalendarType</h2><br><hr><pre>public class <strong>CalendarType</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType</pre>Common base for all Calendar based classes<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_CalendarType">CalendarType</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_CalendarType">CalendarType</a></h2><p><code>public <strong>CalendarType</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.CommentType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.CommentType.html
deleted file mode 100644
index c17922c..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.CommentType.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class CommentType</h2><br><hr><pre>public class <strong>CommentType</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType</pre>A representation of the CommentType datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_CommentType">CommentType</a></strong>(org.w3c.dom.Comment v)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isID">isID</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isIDREF">isIDREF</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code></td><td width="" align="left"><code><a href="#method_node_name">node_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Unsupported method for this node.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the comment being stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_typed_value">typed_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the comment stored</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_CommentType">CommentType</a></h2><p><code>public <strong>CommentType</strong>(org.w3c.dom.Comment v)</code></p><p>Initialise according to the supplied parameters</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_isID">isID</a></h2><p><code>public boolean <strong>isID</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_isIDREF">isIDREF</a></h2><p><code>public boolean <strong>isIDREF</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_node_name">node_name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>node_name</strong>()</code></p><p>Unsupported method for this node.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code> - null</p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "comment" which is the datatype's full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the comment being stored</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the comment being stored</p><hr><h2><a name="method_typed_value">typed_value</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>typed_value</strong>()</code></p><p>Creates a new ResultSequence consisting of the comment stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the comment stored</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType.html
deleted file mode 100644
index 54b93e8..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class CtrType</h2><br><hr><pre>public class <strong>CtrType</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType</pre>A representation of the CtrType datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_CtrType">CtrType</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Used for constructor function.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_CtrType">CtrType</a></h2><p><code>public <strong>CtrType</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Used for constructor function.</p><h3>Parameters</h3><p><code>arg</code> - Either an empty sequence or 1 atomic type</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - The resulting ResultSequence</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the datatype's name</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.DocType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.DocType.html
deleted file mode 100644
index 2e19780..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.DocType.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class DocType</h2><br><hr><pre>public class <strong>DocType</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType</pre>A representation of the DocumentType datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_DocType">DocType</a></strong>(org.w3c.dom.Document v)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isID">isID</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isIDREF">isIDREF</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code></td><td width="" align="left"><code><a href="#method_node_name">node_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the name of the node</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the document being stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_typed_value">typed_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the document being stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.w3c.dom.Document</code></td><td width="" align="left"><code><a href="#method_value">value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the actual document being represented</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_DocType">DocType</a></h2><p><code>public <strong>DocType</strong>(org.w3c.dom.Document v)</code></p><p>Initialises according to the supplied parameters</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_isID">isID</a></h2><p><code>public boolean <strong>isID</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_isIDREF">isIDREF</a></h2><p><code>public boolean <strong>isIDREF</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_node_name">node_name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>node_name</strong>()</code></p><p>Retrieves the name of the node</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code> - QName representation of the name of the node</p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "document" which is the datatype's full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the document being stored</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the document being stored</p><hr><h2><a name="method_typed_value">typed_value</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>typed_value</strong>()</code></p><p>Creates a new ResultSequence consisting of the document being stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the document being stored</p><hr><h2><a name="method_value">value</a></h2><p><code>public org.w3c.dom.Document <strong>value</strong>()</code></p><p>Retrieves the actual document being represented</p><h3>Returns</h3><p><code>org.w3c.dom.Document</code> - Actual document being represented</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.ElementType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.ElementType.html
deleted file mode 100644
index 38fd15d..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.ElementType.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class ElementType</h2><br><hr><pre>public class <strong>ElementType</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType</pre>A representation of the ElementType datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_ElementType">ElementType</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_ElementType">ElementType</a></strong>(org.w3c.dom.Element v)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code><a href="#method_isElementType">isElementType</a>(java.lang.String typeName)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isID">isID</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isIDREF">isIDREF</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_nilled">nilled</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code></td><td width="" align="left"><code><a href="#method_node_name">node_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the name of the node</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the element being stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.lang.String</code></td><td width="" align="left"><code><a href="#method_textnode_strings">textnode_strings</a>(org.w3c.dom.Node node)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Recursively concatenate TextNode strings</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_typed_value">typed_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the element stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.w3c.dom.Element</code></td><td width="" align="left"><code><a href="#method_value">value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the actual element value being represented</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_ElementType">ElementType</a></h2><p><code>public <strong>ElementType</strong>()</code></p><p>Initialises to a null element</p><hr><h2><a name="con_ElementType">ElementType</a></h2><p><code>public <strong>ElementType</strong>(org.w3c.dom.Element v)</code></p><p>Initialises according to the supplied parameters</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_isElementType">isElementType</a></h2><p><code>protected boolean <strong>isElementType</strong>(java.lang.String typeName)</code></p><p></p><h3>Parameters</h3><p><code>typeName</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_isID">isID</a></h2><p><code>public boolean <strong>isID</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_isIDREF">isIDREF</a></h2><p><code>public boolean <strong>isIDREF</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_nilled">nilled</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>nilled</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></p><hr><h2><a name="method_node_name">node_name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>node_name</strong>()</code></p><p>Retrieves the name of the node</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code> - QName representation of the name of the node</p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "element" which is the datatype's full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the element being stored</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the element being stored</p><hr><h2><a name="method_textnode_strings">textnode_strings</a></h2><p><code>public java.lang.String <strong>textnode_strings</strong>(org.w3c.dom.Node node)</code></p><p>Recursively concatenate TextNode strings</p><h3>Parameters</h3><p><code>node</code> - Node to recurse</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the node supplied</p><hr><h2><a name="method_typed_value">typed_value</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>typed_value</strong>()</code></p><p>Creates a new ResultSequence consisting of the element stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the element stored</p><hr><h2><a name="method_value">value</a></h2><p><code>public org.w3c.dom.Element <strong>value</strong>()</code></p><p>Retrieves the actual element value being represented</p><h3>Returns</h3><p><code>org.w3c.dom.Element</code> - Actual element value being represented</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType.html
deleted file mode 100644
index fac8e32..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class NodeType</h2><br><hr><pre>public class <strong>NodeType</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</pre>A representation of a Node datatype<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_SCHEMA_TYPE_ID">SCHEMA_TYPE_ID</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_SCHEMA_TYPE_IDREF">SCHEMA_TYPE_IDREF</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_NodeType">NodeType</a></strong>(org.w3c.dom.Node node)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_after">after</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType two)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static boolean</code></td><td width="" align="left"><code><a href="#method_after">after</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType a
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType b)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_before">before</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType two)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static boolean</code></td><td width="" align="left"><code><a href="#method_before">before</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType a
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType b)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType</code></td><td width="" align="left"><code><a href="#method_dom_to_xpath">dom_to_xpath</a>(org.w3c.dom.Node node)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_eliminate_dups">eliminate_dups</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.Object</code></td><td width="" align="left"><code><a href="#method_getTypedValueForPrimitiveType">getTypedValueForPrimitiveType</a>(XSTypeDefinition typeDef)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isID">isID</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isIDREF">isIDREF</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code><a href="#method_isType">isType</a>(org.w3c.dom.TypeInfo typeInfo
-         ,
-      java.lang.String typeName)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Utility method to check to see if a particular TypeInfo matches.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_nilled">nilled</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code></td><td width="" align="left"><code><a href="#method_node_name">node_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the name of the node</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.w3c.dom.Node</code></td><td width="" align="left"><code><a href="#method_node_value">node_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the actual node being represented</td></tr><tr valign="top"><td width="20%" align="right"><code>public static boolean</code></td><td width="" align="left"><code><a href="#method_same">same</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType a
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType b)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_sort_document_order">sort_document_order</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_typed_value">typed_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the actual node being represented</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Field Detail
-               </h2></td></tr></table><h2><a name="field_SCHEMA_TYPE_ID">SCHEMA_TYPE_ID</a></h2><p><code>protected static  java.lang.String <strong>SCHEMA_TYPE_ID</strong></code></p><hr><h2><a name="field_SCHEMA_TYPE_IDREF">SCHEMA_TYPE_IDREF</a></h2><p><code>protected static  java.lang.String <strong>SCHEMA_TYPE_IDREF</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_NodeType">NodeType</a></h2><p><code>public <strong>NodeType</strong>(org.w3c.dom.Node node)</code></p><p>Initialises according to the supplied parameters</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_after">after</a></h2><p><code>public boolean <strong>after</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType two)</code></p><p></p><h3>Parameters</h3><p><code>two</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_after">after</a></h2><p><code>public boolean <strong>after</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType a
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType b)</code></p><p></p><h3>Parameters</h3><p><code>a</code></p><p><code>b</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_before">before</a></h2><p><code>public boolean <strong>before</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType two)</code></p><p></p><h3>Parameters</h3><p><code>two</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_before">before</a></h2><p><code>public boolean <strong>before</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType a
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType b)</code></p><p></p><h3>Parameters</h3><p><code>a</code></p><p><code>b</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_dom_to_xpath">dom_to_xpath</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType <strong>dom_to_xpath</strong>(org.w3c.dom.Node node)</code></p><p></p><h3>Parameters</h3><p><code>node</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType</code></p><hr><h2><a name="method_eliminate_dups">eliminate_dups</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>eliminate_dups</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code></p><p></p><h3>Parameters</h3><p><code>rs</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></p><hr><h2><a name="method_getTypedValueForPrimitiveType">getTypedValueForPrimitiveType</a></h2><p><code>protected java.lang.Object <strong>getTypedValueForPrimitiveType</strong>(XSTypeDefinition typeDef)</code></p><p></p><h3>Parameters</h3><p><code>typeDef</code></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_isID">isID</a></h2><p><code>public boolean <strong>isID</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_isIDREF">isIDREF</a></h2><p><code>public boolean <strong>isIDREF</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_isType">isType</a></h2><p><code>protected boolean <strong>isType</strong>(org.w3c.dom.TypeInfo typeInfo
-         ,
-      java.lang.String typeName)</code></p><p>Utility method to check to see if a particular TypeInfo matches.</p><h3>Parameters</h3><p><code>typeInfo</code></p><p><code>typeName</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_nilled">nilled</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>nilled</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></p><hr><h2><a name="method_node_name">node_name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>node_name</strong>()</code></p><p>Retrieves the name of the node</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code> - QName representation of the name of the node</p><hr><h2><a name="method_node_value">node_value</a></h2><p><code>public org.w3c.dom.Node <strong>node_value</strong>()</code></p><p>Retrieves the actual node being represented</p><h3>Returns</h3><p><code>org.w3c.dom.Node</code> - Actual node being represented</p><hr><h2><a name="method_same">same</a></h2><p><code>public boolean <strong>same</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType a
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType b)</code></p><p></p><h3>Parameters</h3><p><code>a</code></p><p><code>b</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_sort_document_order">sort_document_order</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>sort_document_order</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code></p><p></p><h3>Parameters</h3><p><code>rs</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></p><hr><h2><a name="method_typed_value">typed_value</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>typed_value</strong>()</code></p><p>Retrieves the actual node being represented</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - Actual node being represented</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType.html
deleted file mode 100644
index 51476e3..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class NumericType</h2><br><hr><pre>public class <strong>NumericType</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType</pre>A representation of the NumericType datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_NumericType">NumericType</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_abs">abs</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Absolutes the number stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_ceiling">ceiling</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the smallest integer greater than the number stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_floor">floor</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the largest integer smaller than the number stored</td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_get_single_arg">get_single_arg</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_get_single_type">get_single_type</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType at
-         ,
-      java.lang.Class type)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Check whether the supplied node is of the supplied type</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_get_single_type">get_single_type</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs
-         ,
-      java.lang.Class type)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Check whether first node in supplied ResultSequence is of the supplied
- type</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_round">round</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the closest integer of the number stored.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_round_half_to_even">round_half_to_even</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the closest integer of the number stored.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_round_half_to_even">round_half_to_even</a>(int precision)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_unary_minus">unary_minus</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence representing the negation of the number
- stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_zero">zero</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Check whether node represnts 0</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_NumericType">NumericType</a></h2><p><code>public <strong>NumericType</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_abs">abs</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>abs</strong>()</code></p><p>Absolutes the number stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - New NumericType representing the absolute of the number stored</p><hr><h2><a name="method_ceiling">ceiling</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>ceiling</strong>()</code></p><p>Returns the smallest integer greater than the number stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - A NumericType representing the smallest integer greater than the          number stored</p><hr><h2><a name="method_floor">floor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>floor</strong>()</code></p><p>Returns the largest integer smaller than the number stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - A NumericType representing the largest integer smaller than the          number stored</p><hr><h2><a name="method_get_single_arg">get_single_arg</a></h2><p><code>protected org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>get_single_arg</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code></p><p></p><h3>Parameters</h3><p><code>rs</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_get_single_type">get_single_type</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>get_single_type</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType at
-         ,
-      java.lang.Class type)</code></p><p>Check whether the supplied node is of the supplied type</p><h3>Parameters</h3><p><code>at</code> - The node being tested</p><p><code>type</code> - The type expected</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - The node being tested</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError - If node being tested is not of expected type</code></p><hr><h2><a name="method_get_single_type">get_single_type</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>get_single_type</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs
-         ,
-      java.lang.Class type)</code></p><p>Check whether first node in supplied ResultSequence is of the supplied
- type</p><h3>Parameters</h3><p><code>rs</code> - The node being tested</p><p><code>type</code> - The type expected</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - The node being tested</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError - If node being tested is not of expected type</code></p><hr><h2><a name="method_round">round</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>round</strong>()</code></p><p>Returns the closest integer of the number stored.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - A NumericType representing the closest long of the number stored.</p><hr><h2><a name="method_round_half_to_even">round_half_to_even</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>round_half_to_even</strong>()</code></p><p>Returns the closest integer of the number stored.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - A NumericType representing the closest long of the number stored.</p><hr><h2><a name="method_round_half_to_even">round_half_to_even</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>round_half_to_even</strong>(int precision)</code></p><p></p><h3>Parameters</h3><p><code>precision</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></p><hr><h2><a name="method_unary_minus">unary_minus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>unary_minus</strong>()</code></p><p>Creates a new ResultSequence representing the negation of the number
- stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence representing the negation of the number stored</p><hr><h2><a name="method_zero">zero</a></h2><p><code>public boolean <strong>zero</strong>()</code></p><p>Check whether node represnts 0</p><h3>Returns</h3><p><code>boolean</code> - True if node represnts 0. False otherwise</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.PIType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.PIType.html
deleted file mode 100644
index 5027c68..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.PIType.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class PIType</h2><br><hr><pre>public class <strong>PIType</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType</pre>A representation of the ProcessingInstruction datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_PIType">PIType</a></strong>(org.w3c.dom.ProcessingInstruction v)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isID">isID</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isIDREF">isIDREF</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code></td><td width="" align="left"><code><a href="#method_node_name">node_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Constructs the node's name</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the actual processing instruction
- stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_typed_value">typed_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the processing instruction
- stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.w3c.dom.ProcessingInstruction</code></td><td width="" align="left"><code><a href="#method_value">value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the actual processing instruction this node represents</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_PIType">PIType</a></h2><p><code>public <strong>PIType</strong>(org.w3c.dom.ProcessingInstruction v)</code></p><p>Initialises according to the supplied parameters</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_isID">isID</a></h2><p><code>public boolean <strong>isID</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_isIDREF">isIDREF</a></h2><p><code>public boolean <strong>isIDREF</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_node_name">node_name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>node_name</strong>()</code></p><p>Constructs the node's name</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code> - A QName representation of the node's name</p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "processing-instruction" which is the datatype's full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the actual processing instruction
- stored</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the actual processing instruction stored</p><hr><h2><a name="method_typed_value">typed_value</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>typed_value</strong>()</code></p><p>Creates a new ResultSequence consisting of the processing instruction
- stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the processing instruction          stored</p><hr><h2><a name="method_value">value</a></h2><p><code>public org.w3c.dom.ProcessingInstruction <strong>value</strong>()</code></p><p>Retrieves the actual processing instruction this node represents</p><h3>Returns</h3><p><code>org.w3c.dom.ProcessingInstruction</code> - Actual processing instruction this node represents</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.QName.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.QName.html
deleted file mode 100644
index d5f5322..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.QName.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class QName</h2><br><hr><pre>public class <strong>QName</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType</pre>A representation of a QName datatype (name of a node)<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_QName">QName</a></strong>(java.lang.String prefix
-         ,
-      java.lang.String local_part
-         ,
-      java.lang.String ns)</code></td></tr><tr><td><code><strong><a href="#con_QName">QName</a></strong>(java.lang.String prefix
-         ,
-      java.lang.String local_part)</code></td></tr><tr><td><code><strong><a href="#con_QName">QName</a></strong>(java.lang.String local_part)</code></td></tr><tr><td><code><strong><a href="#con_QName">QName</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable QName in the
- supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_eq">eq</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Equality comparison between this QName and the supplied QName</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_equals">equals</a>(java.lang.Object obj)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Equality comparison between this QName and a supplied QName</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_expanded">expanded</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Check for whether a namespace has been defined for this node</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_expanded_name">expanded_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the full pathname including the namespace. This method must not
- be called if a namespace does exist for this node</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_hashCode">hashCode</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Calculates the hashcode for the full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_local">local</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the node's name</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_namespace">namespace</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the namespace that this node belongs in. This method must not
- be called if the node does not belong in a namespace</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code></td><td width="" align="left"><code><a href="#method_parse_QName">parse_QName</a>(java.lang.String str)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new QName by parsing a String representation of the node name</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_prefix">prefix</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the prefix of the node's pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_namespace">set_namespace</a>(java.lang.String n)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Sets the namespace for this node</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string">string</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the node name. This method is
- functionally identical to string_value()</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the node name. This method is
- functionally identical to string()</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_toString">toString</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_QName">QName</a></h2><p><code>public <strong>QName</strong>(java.lang.String prefix
-         ,
-      java.lang.String local_part
-         ,
-      java.lang.String ns)</code></p><p>Initialises using the supplied parameters</p><hr><h2><a name="con_QName">QName</a></h2><p><code>public <strong>QName</strong>(java.lang.String prefix
-         ,
-      java.lang.String local_part)</code></p><p>Initialises using the supplied parameters</p><hr><h2><a name="con_QName">QName</a></h2><p><code>public <strong>QName</strong>(java.lang.String local_part)</code></p><p>Initialises using only the node name (no prefix)</p><hr><h2><a name="con_QName">QName</a></h2><p><code>public <strong>QName</strong>()</code></p><p>Initialises with a null prefix and null node name</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable QName in the
- supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence to extract from</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the QName supplied</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_eq">eq</a></h2><p><code>public boolean <strong>eq</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Equality comparison between this QName and the supplied QName</p><h3>Parameters</h3><p><code>arg</code> - The QName to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if the two represent the same node. False otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_equals">equals</a></h2><p><code>public boolean <strong>equals</strong>(java.lang.Object obj)</code></p><p>Equality comparison between this QName and a supplied QName</p><h3>Parameters</h3><p><code>obj</code> - The object to compare with. Should be of type QName</p><h3>Returns</h3><p><code>boolean</code> - True if the two represent the same node. False otherwise</p><hr><h2><a name="method_expanded">expanded</a></h2><p><code>public boolean <strong>expanded</strong>()</code></p><p>Check for whether a namespace has been defined for this node</p><h3>Returns</h3><p><code>boolean</code> - True if a namespace has been defined for node. False otherwise</p><hr><h2><a name="method_expanded_name">expanded_name</a></h2><p><code>public java.lang.String <strong>expanded_name</strong>()</code></p><p>Retrieves the full pathname including the namespace. This method must not
- be called if a namespace does exist for this node</p><h3>Returns</h3><p><code>java.lang.String</code> - Full pathname including namespace</p><hr><h2><a name="method_hashCode">hashCode</a></h2><p><code>public int <strong>hashCode</strong>()</code></p><p>Calculates the hashcode for the full pathname</p><h3>Returns</h3><p><code>int</code> - The hashcode for the full pathname</p><hr><h2><a name="method_local">local</a></h2><p><code>public java.lang.String <strong>local</strong>()</code></p><p>Retrieves the node's name</p><h3>Returns</h3><p><code>java.lang.String</code> - Node's name</p><hr><h2><a name="method_namespace">namespace</a></h2><p><code>public java.lang.String <strong>namespace</strong>()</code></p><p>Retrieves the namespace that this node belongs in. This method must not
- be called if the node does not belong in a namespace</p><h3>Returns</h3><p><code>java.lang.String</code> - Namespace that this node belongs in</p><hr><h2><a name="method_parse_QName">parse_QName</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>parse_QName</strong>(java.lang.String str)</code></p><p>Creates a new QName by parsing a String representation of the node name</p><h3>Parameters</h3><p><code>str</code> - String representation of the name</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code> - null</p><hr><h2><a name="method_prefix">prefix</a></h2><p><code>public java.lang.String <strong>prefix</strong>()</code></p><p>Retrieves the prefix of the node's pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - Prefix of the node's pathname</p><hr><h2><a name="method_set_namespace">set_namespace</a></h2><p><code>public void <strong>set_namespace</strong>(java.lang.String n)</code></p><p>Sets the namespace for this node</p><h3>Parameters</h3><p><code>n</code> - Namespace this node belongs in</p><hr><h2><a name="method_string">string</a></h2><p><code>public java.lang.String <strong>string</strong>()</code></p><p>Retrieves a String representation of the node name. This method is
- functionally identical to string_value()</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the node name</p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:QName" which is the datatype's full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the node name. This method is
- functionally identical to string()</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the node name</p><hr><h2><a name="method_toString">toString</a></h2><p><code>public java.lang.String <strong>toString</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "QName" which is the datatype's name</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.TextType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.TextType.html
deleted file mode 100644
index f14197b..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.TextType.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class TextType</h2><br><hr><pre>public class <strong>TextType</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType</pre>A representation of the TextType datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_TextType">TextType</a></strong>(org.w3c.dom.Text v)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isID">isID</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Will always return false;</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isIDREF">isIDREF</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code></td><td width="" align="left"><code><a href="#method_node_name">node_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Unsupported method for this nodetype.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the actual value stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_typed_value">typed_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the Text value stored</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_TextType">TextType</a></h2><p><code>public <strong>TextType</strong>(org.w3c.dom.Text v)</code></p><p>Initialises using the supplied parameters</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_isID">isID</a></h2><p><code>public boolean <strong>isID</strong>()</code></p><p>Will always return false;</p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_isIDREF">isIDREF</a></h2><p><code>public boolean <strong>isIDREF</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_node_name">node_name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>node_name</strong>()</code></p><p>Unsupported method for this nodetype.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code> - null (no user defined name for this node gets defined)</p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "text" which is the datatype's name</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the actual value stored</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the actual value stored</p><hr><h2><a name="method_typed_value">typed_value</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>typed_value</strong>()</code></p><p>Creates a new ResultSequence consisting of the Text value stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the Text value stored</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XPathDecimalFormat.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XPathDecimalFormat.html
deleted file mode 100644
index 702969e..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XPathDecimalFormat.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XPathDecimalFormat</h2><br><hr><pre>public class <strong>XPathDecimalFormat</strong>
-extends java.text.DecimalFormat</pre>This is an XPath specific implementation of DecimalFormat to handle
- some of the xpath specific formatting requirements.   Specifically
- it allows for E# to be represented to indicate that the exponent value
- is optional.  Otherwise all existing DecimalFormat patterns are handled
- as is.<p></p><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XPathDecimalFormat">XPathDecimalFormat</a></strong>(java.lang.String pattern)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_xpathFormat">xpathFormat</a>(java.lang.Object obj)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Formats the string dropping a Zero Exponent Value if it exists.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XPathDecimalFormat">XPathDecimalFormat</a></h2><p><code>public <strong>XPathDecimalFormat</strong>(java.lang.String pattern)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_xpathFormat">xpathFormat</a></h2><p><code>public java.lang.String <strong>xpathFormat</strong>(java.lang.Object obj)</code></p><p>Formats the string dropping a Zero Exponent Value if it exists.</p><h3>Parameters</h3><p><code>obj</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI.html
deleted file mode 100644
index 1881f09..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSAnyURI</h2><br><hr><pre>public class <strong>XSAnyURI</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType</pre>Represents a Universal Resource Identifier (URI) reference<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSAnyURI">XSAnyURI</a></strong>(java.lang.String x)</code></td></tr><tr><td><code><strong><a href="#con_XSAnyURI">XSAnyURI</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creation of a result sequence consisting of a URI from a previous result
- sequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_eq">eq</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Equality comparison between this and the supplied representation which
- must be of type xs:anyURI (or, by promotion of this, xs:string)</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_gt">gt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Greater than comparison between this and the supplied representation which
- must be of type xs:anyURI (or, by promotion of this, xs:string)</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_lt">lt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Less than comparison between this and the supplied representation which
- must be of type xs:anyURI (or, by promotion of this, xs:string)</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieve full type pathname of this datatype</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Transforms and retrieves the URI value of this URI datatype in String
- format</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieve type name of this datatype</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSAnyURI">XSAnyURI</a></h2><p><code>public <strong>XSAnyURI</strong>(java.lang.String x)</code></p><p>Arity 1 Constructor</p><hr><h2><a name="con_XSAnyURI">XSAnyURI</a></h2><p><code>public <strong>XSAnyURI</strong>()</code></p><p>Arity 0 Constructor. Initiates URI to null.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creation of a result sequence consisting of a URI from a previous result
- sequence.</p><h3>Parameters</h3><p><code>arg</code> - previous result sequence</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - new result sequence consisting of the URI supplied</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_eq">eq</a></h2><p><code>public boolean <strong>eq</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Equality comparison between this and the supplied representation which
- must be of type xs:anyURI (or, by promotion of this, xs:string)</p><h3>Parameters</h3><p><code>arg</code> - The representation to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if the two representation are of the same String. False          otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_gt">gt</a></h2><p><code>public boolean <strong>gt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Greater than comparison between this and the supplied representation which
- must be of type xs:anyURI (or, by promotion of this, xs:string)</p><h3>Parameters</h3><p><code>arg</code></p><h3>Returns</h3><p><code>boolean</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_lt">lt</a></h2><p><code>public boolean <strong>lt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Less than comparison between this and the supplied representation which
- must be of type xs:anyURI (or, by promotion of this, xs:string)</p><h3>Parameters</h3><p><code>arg</code></p><h3>Returns</h3><p><code>boolean</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieve full type pathname of this datatype</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:anyURI", the full type pathname of this datatype</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Transforms and retrieves the URI value of this URI datatype in String
- format</p><h3>Returns</h3><p><code>java.lang.String</code> - the URI value held by this instance of the URI datatype as a          String</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieve type name of this datatype</p><h3>Returns</h3><p><code>java.lang.String</code> - "anyURI", the type name of this datatype</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSBase64Binary.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSBase64Binary.html
deleted file mode 100644
index e66b203..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSBase64Binary.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSBase64Binary</h2><br><hr><pre>public class <strong>XSBase64Binary</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType</pre>A representation of the base64Binary datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSBase64Binary">XSBase64Binary</a></strong>(java.lang.String x)</code></td></tr><tr><td><code><strong><a href="#con_XSBase64Binary">XSBase64Binary</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the base64Binary value</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_eq">eq</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Equality comparison between this and the supplied representation which
- must be of type base64Binary</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the base64Binary stored. This method is
- functionally identical to value()</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_value">value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the base64Binary stored. This method is
- functionally identical to string_value()</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSBase64Binary">XSBase64Binary</a></h2><p><code>public <strong>XSBase64Binary</strong>(java.lang.String x)</code></p><p>Initialises using the supplied String</p><hr><h2><a name="con_XSBase64Binary">XSBase64Binary</a></h2><p><code>public <strong>XSBase64Binary</strong>()</code></p><p>Initialises to null</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the base64Binary value</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which to construct base64Binary value</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence representing base64Binary value</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_eq">eq</a></h2><p><code>public boolean <strong>eq</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Equality comparison between this and the supplied representation which
- must be of type base64Binary</p><h3>Parameters</h3><p><code>arg</code> - The representation to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if the two representation are same. False otherwise.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:base64Binary" which is the datatype's full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the base64Binary stored. This method is
- functionally identical to value()</p><h3>Returns</h3><p><code>java.lang.String</code> - The base64Binary stored</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "base64Binary" which is the datatype's name</p><hr><h2><a name="method_value">value</a></h2><p><code>public java.lang.String <strong>value</strong>()</code></p><p>Retrieves a String representation of the base64Binary stored. This method is
- functionally identical to string_value()</p><h3>Returns</h3><p><code>java.lang.String</code> - The base64Binary stored</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean.html
deleted file mode 100644
index 96eeb62..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSBoolean</h2><br><hr><pre>public class <strong>XSBoolean</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType</pre>A representation of a true or a false value.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSBoolean">XSBoolean</a></strong>(boolean x)</code></td></tr><tr><td><code><strong><a href="#con_XSBoolean">XSBoolean</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new result sequence consisting of the retrievable boolean value
- in the supplied result sequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_eq">eq</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Comparison for equality between the supplied and this boolean
- representation. Returns true if both represent same boolean value, false
- otherwise</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_gt">gt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Comparison between the supplied and this boolean representation. Returns
- true if this XSBoolean represents true and that XSBoolean supplied
- represents false. Returns false otherwise</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_lt">lt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Comparison between the supplied and this boolean representation. Returns
- true if this XSBoolean represents false and that XSBoolean supplied
- represents true. Returns false otherwise</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieve the full type pathname of this datatype</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieve the String representation of the boolean value stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieve the datatype name</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_value">value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the actual boolean value stored</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSBoolean">XSBoolean</a></h2><p><code>public <strong>XSBoolean</strong>(boolean x)</code></p><p>Initiates the new representation to the boolean supplied</p><hr><h2><a name="con_XSBoolean">XSBoolean</a></h2><p><code>public <strong>XSBoolean</strong>()</code></p><p>Initiates to a default representation of false.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new result sequence consisting of the retrievable boolean value
- in the supplied result sequence</p><h3>Parameters</h3><p><code>arg</code> - The result sequence from which to extract the boolean value.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A new result sequence consisting of the boolean value supplied.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_eq">eq</a></h2><p><code>public boolean <strong>eq</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Comparison for equality between the supplied and this boolean
- representation. Returns true if both represent same boolean value, false
- otherwise</p><h3>Parameters</h3><p><code>arg</code> - The XSBoolean representation of the boolean value to compare             with.</p><h3>Returns</h3><p><code>boolean</code> - New XSBoolean representation of true/false result of the equality          comparison</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_gt">gt</a></h2><p><code>public boolean <strong>gt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Comparison between the supplied and this boolean representation. Returns
- true if this XSBoolean represents true and that XSBoolean supplied
- represents false. Returns false otherwise</p><h3>Parameters</h3><p><code>arg</code> - The XSBoolean representation of the boolean value to compare             with.</p><h3>Returns</h3><p><code>boolean</code> - New XSBoolean representation of true/false result of the          comparison</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_lt">lt</a></h2><p><code>public boolean <strong>lt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Comparison between the supplied and this boolean representation. Returns
- true if this XSBoolean represents false and that XSBoolean supplied
- represents true. Returns false otherwise</p><h3>Parameters</h3><p><code>arg</code> - The XSBoolean representation of the boolean value to compare             with.</p><h3>Returns</h3><p><code>boolean</code> - New XSBoolean representation of true/false result of the          comparison</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieve the full type pathname of this datatype</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:boolean", the full datatype pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieve the String representation of the boolean value stored</p><h3>Returns</h3><p><code>java.lang.String</code> - the String representation of the boolean value stored</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieve the datatype name</p><h3>Returns</h3><p><code>java.lang.String</code> - "boolean", which is the datatype name.</p><hr><h2><a name="method_value">value</a></h2><p><code>public boolean <strong>value</strong>()</code></p><p>Retrieves the actual boolean value stored</p><h3>Returns</h3><p><code>boolean</code> - the actual boolean value stored</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSByte.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSByte.html
deleted file mode 100644
index 203c77e..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSByte.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSByte</h2><br><hr><pre>public class <strong>XSByte</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSShort</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSByte">XSByte</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XSByte">XSByte</a></strong>(java.math.BigInteger x)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable 'byte' in the
- supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSByte">XSByte</a></h2><p><code>public <strong>XSByte</strong>()</code></p><p>Initializes a representation of 0</p><hr><h2><a name="con_XSByte">XSByte</a></h2><p><code>public <strong>XSByte</strong>(java.math.BigInteger x)</code></p><p>Initializes a representation of the supplied byte value</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable 'byte' in the
- supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which the byte is to be extracted</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the 'byte' supplied</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:byte" which is the datatype's full pathname</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "byte" which is the datatype's name</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate.html
deleted file mode 100644
index 95b448d..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSDate</h2><br><hr><pre>public class <strong>XSDate</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType</pre>Representation of a date of the form year-month-day and optional timezone<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSDate">XSDate</a></strong>(java.util.Calendar cal
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration tz)</code></td></tr><tr><td><code><strong><a href="#con_XSDate">XSDate</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Calendar</code></td><td width="" align="left"><code><a href="#method_calendar">calendar</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the Calendar representation of the date stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_clone">clone</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a copy of this date representation</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new result sequence consisting of the retrievable date value in
- the supplied result sequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_day">day</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieve the day from the date stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_eq">eq</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Equality comparison on this and the supplied dates (taking timezones into
- account)</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_gt">gt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Comparison on this and the supplied dates (taking timezones into account)</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_lt">lt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Comparison on this and the supplied dates (taking timezones into account)</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_minus">minus</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical minus operator between this XSDate and a supplied result
- sequence (XSDate, XDTYearMonthDuration and XDTDayTimeDuration are only
- valid ones).</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_month">month</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieve the month from the date stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate</code></td><td width="" align="left"><code><a href="#method_parse_date">parse_date</a>(java.lang.String str)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Parses a String representation of a date (of the form year-month-day or
- year-month-day+timezone) and constructs a new XSDate representation of
- it.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_plus">plus</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical addition operator between this XSDate and a supplied result
- sequence (XDTYearMonthDuration and XDTDayTimeDuration are only valid
- ones).</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrive the datatype full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the date stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_timezoned">timezoned</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves whether this date has an optional timezone associated with it</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype name</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code></td><td width="" align="left"><code><a href="#method_tz">tz</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the timezone associated with the date stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public double</code></td><td width="" align="left"><code><a href="#method_value">value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Currently unsupported method. Retrieves the date in milliseconds since
- the begining of epoch</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_year">year</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieve the year from the date stored</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSDate">XSDate</a></h2><p><code>public <strong>XSDate</strong>(java.util.Calendar cal
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration tz)</code></p><p>Initializes a new representation of a supplied date</p><hr><h2><a name="con_XSDate">XSDate</a></h2><p><code>public <strong>XSDate</strong>()</code></p><p>Initializes a new representation of the current date</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_calendar">calendar</a></h2><p><code>public java.util.Calendar <strong>calendar</strong>()</code></p><p>Retrieves the Calendar representation of the date stored</p><h3>Returns</h3><p><code>java.util.Calendar</code> - Calendar representation of the date stored</p><hr><h2><a name="method_clone">clone</a></h2><p><code>public java.lang.Object <strong>clone</strong>()</code></p><p>Creates a copy of this date representation</p><h3>Returns</h3><p><code>java.lang.Object</code> - A copy of this date representation</p><h3>Throws:</h3><p><code>java.lang.CloneNotSupportedException</code></p><hr><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new result sequence consisting of the retrievable date value in
- the supplied result sequence</p><h3>Parameters</h3><p><code>arg</code> - The result sequence from which to extract the date value.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A new result sequence consisting of the date value supplied.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_day">day</a></h2><p><code>public int <strong>day</strong>()</code></p><p>Retrieve the day from the date stored</p><h3>Returns</h3><p><code>int</code> - the day value of the date stored</p><hr><h2><a name="method_eq">eq</a></h2><p><code>public boolean <strong>eq</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Equality comparison on this and the supplied dates (taking timezones into
- account)</p><h3>Parameters</h3><p><code>arg</code> - XSDate representation of the date to compare to</p><h3>Returns</h3><p><code>boolean</code> - True if the two dates are represent the same exact point in time.          False otherwise.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_gt">gt</a></h2><p><code>public boolean <strong>gt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Comparison on this and the supplied dates (taking timezones into account)</p><h3>Parameters</h3><p><code>arg</code> - XSDate representation of the date to compare to</p><h3>Returns</h3><p><code>boolean</code> - True if in time, this date lies after the date supplied. False          otherwise.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_lt">lt</a></h2><p><code>public boolean <strong>lt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Comparison on this and the supplied dates (taking timezones into account)</p><h3>Parameters</h3><p><code>arg</code> - XSDate representation of the date to compare to</p><h3>Returns</h3><p><code>boolean</code> - True if in time, this date lies before the date supplied. False          otherwise.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_minus">minus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>minus</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical minus operator between this XSDate and a supplied result
- sequence (XSDate, XDTYearMonthDuration and XDTDayTimeDuration are only
- valid ones).</p><h3>Parameters</h3><p><code>arg</code> - The supplied ResultSequence that is on the right of the minus             operator. If this is an XSDate, the result will be a             XDTDayTimeDuration of the duration of time between these two             dates. If arg is an XDTYearMonthDuration or an             XDTDayTimeDuration the result will be a XSDate of the result             of the current date minus the duration of time supplied.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the result of the mathematical          minus operation.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_month">month</a></h2><p><code>public int <strong>month</strong>()</code></p><p>Retrieve the month from the date stored</p><h3>Returns</h3><p><code>int</code> - the month value of the date stored</p><hr><h2><a name="method_parse_date">parse_date</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate <strong>parse_date</strong>(java.lang.String str)</code></p><p>Parses a String representation of a date (of the form year-month-day or
- year-month-day+timezone) and constructs a new XSDate representation of
- it.</p><h3>Parameters</h3><p><code>str</code> - The String representation of the date (and optional timezone)</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate</code> - The XSDate representation of the supplied date</p><hr><h2><a name="method_plus">plus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>plus</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical addition operator between this XSDate and a supplied result
- sequence (XDTYearMonthDuration and XDTDayTimeDuration are only valid
- ones).</p><h3>Parameters</h3><p><code>arg</code> - The supplied ResultSequence that is on the right of the minus             operator. If arg is an XDTYearMonthDuration or an             XDTDayTimeDuration the result will be a XSDate of the result             of the current date minus the duration of time supplied.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the result of the mathematical          minus operation.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrive the datatype full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:date" which is the datatype full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the date stored</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the date stored</p><hr><h2><a name="method_timezoned">timezoned</a></h2><p><code>public boolean <strong>timezoned</strong>()</code></p><p>Retrieves whether this date has an optional timezone associated with it</p><h3>Returns</h3><p><code>boolean</code> - True if there is a timezone associated with this date. False          otherwise.</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype name</p><h3>Returns</h3><p><code>java.lang.String</code> - "date" which is the dataype name</p><hr><h2><a name="method_tz">tz</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration <strong>tz</strong>()</code></p><p>Retrieves the timezone associated with the date stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code> - the timezone associated with the date stored</p><hr><h2><a name="method_value">value</a></h2><p><code>public double <strong>value</strong>()</code></p><p>Currently unsupported method. Retrieves the date in milliseconds since
- the begining of epoch</p><h3>Returns</h3><p><code>double</code> - Number of milliseconds since the begining of the epoch</p><hr><h2><a name="method_year">year</a></h2><p><code>public int <strong>year</strong>()</code></p><p>Retrieve the year from the date stored</p><h3>Returns</h3><p><code>int</code> - the year value of the date stored</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime.html
deleted file mode 100644
index f4cf0c2..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSDateTime</h2><br><hr><pre>public class <strong>XSDateTime</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType</pre>A representation of a date and time (and optional timezone)<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSDateTime">XSDateTime</a></strong>(java.util.Calendar cal
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration tz)</code></td></tr><tr><td><code><strong><a href="#con_XSDateTime">XSDateTime</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Calendar</code></td><td width="" align="left"><code><a href="#method_calendar">calendar</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the Calendar representation of the date stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_clone">clone</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a copy of this date and time representation</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new result sequence consisting of the retrievable date and time
- value in the supplied result sequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_day">day</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieve the day from the date stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_eq">eq</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Equality comparison on this and the supplied dates and times (taking
- timezones into account)</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_gt">gt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Comparison on this and the supplied dates and times (taking timezones
- into account)</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_hour">hour</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieve the hour from the date stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public static boolean</code></td><td width="" align="left"><code><a href="#method_is_digit">is_digit</a>(char x)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Check to see if a character is numeric</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_lt">lt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Comparison on this and the supplied dates and times (taking timezones
- into account)</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_minus">minus</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical minus operator between this XSDateTime and a supplied result
- sequence (XSDateTime, XDTYearMonthDuration and XDTDayTimeDuration are
- only valid ones).</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_minute">minute</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieve the minute from the date stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_month">month</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieve the month from the date stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.lang.String</code></td><td width="" align="left"><code><a href="#method_pad_int">pad_int</a>(int num
-         ,
-      int len)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Pads the supplied number to the supplied number of digits by adding 0's
- in front of it</td></tr><tr valign="top"><td width="20%" align="right"><code>public static int[]</code></td><td width="" align="left"><code><a href="#method_parse_date">parse_date</a>(java.lang.String str)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Parses a String representation of a date and time and retrieves the year,
- month and day from it</td></tr><tr valign="top"><td width="20%" align="right"><code>public static double[]</code></td><td width="" align="left"><code><a href="#method_parse_time">parse_time</a>(java.lang.String str)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Parses a String representation of a date and time and retrieves the hour,
- minute and seconds from it</td></tr><tr valign="top"><td width="20%" align="right"><code>public static int[]</code></td><td width="" align="left"><code><a href="#method_parse_timezone">parse_timezone</a>(java.lang.String str)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Parses a String representation of a date and time and retrieves the
- timezone from it</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime</code></td><td width="" align="left"><code><a href="#method_parseDateTime">parseDateTime</a>(java.lang.String str)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Parses a String representation of a date and time and constructs a new
- XSDateTime object using that information</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_plus">plus</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical addition operator between this XSDateTime and a supplied
- result sequence (XDTYearMonthDuration and XDTDayTimeDuration are only
- valid ones).</td></tr><tr valign="top"><td width="20%" align="right"><code>public double</code></td><td width="" align="left"><code><a href="#method_second">second</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieve the seconds from the date stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrive the datatype full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the date and time stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_timezoned">timezoned</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype name</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code></td><td width="" align="left"><code><a href="#method_tz">tz</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the timezone associated with the date stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public double</code></td><td width="" align="left"><code><a href="#method_value">value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Currently unsupported method. Retrieves the date in milliseconds since
- the begining of epoch</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_year">year</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieve the year from the date stored</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSDateTime">XSDateTime</a></h2><p><code>public <strong>XSDateTime</strong>(java.util.Calendar cal
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration tz)</code></p><p>Initiates a new representation of a supplied date and time</p><hr><h2><a name="con_XSDateTime">XSDateTime</a></h2><p><code>public <strong>XSDateTime</strong>()</code></p><p>Inititates a new representation of the current date and time</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_calendar">calendar</a></h2><p><code>public java.util.Calendar <strong>calendar</strong>()</code></p><p>Retrieves the Calendar representation of the date stored</p><h3>Returns</h3><p><code>java.util.Calendar</code> - Calendar representation of the date stored</p><hr><h2><a name="method_clone">clone</a></h2><p><code>public java.lang.Object <strong>clone</strong>()</code></p><p>Creates a copy of this date and time representation</p><h3>Returns</h3><p><code>java.lang.Object</code> - A copy of this date and time representation</p><h3>Throws:</h3><p><code>java.lang.CloneNotSupportedException</code></p><hr><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new result sequence consisting of the retrievable date and time
- value in the supplied result sequence</p><h3>Parameters</h3><p><code>arg</code> - The result sequence from which to extract the date and time             value.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A new result sequence consisting of the date and time value          supplied.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_day">day</a></h2><p><code>public int <strong>day</strong>()</code></p><p>Retrieve the day from the date stored</p><h3>Returns</h3><p><code>int</code> - the day value of the date stored</p><hr><h2><a name="method_eq">eq</a></h2><p><code>public boolean <strong>eq</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Equality comparison on this and the supplied dates and times (taking
- timezones into account)</p><h3>Parameters</h3><p><code>arg</code> - XSDateTime representation of the date to compare to</p><h3>Returns</h3><p><code>boolean</code> - True if the two dates and times are represent the same exact          point in time. False otherwise.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_gt">gt</a></h2><p><code>public boolean <strong>gt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Comparison on this and the supplied dates and times (taking timezones
- into account)</p><h3>Parameters</h3><p><code>arg</code> - XSDateTime representation of the date to compare to</p><h3>Returns</h3><p><code>boolean</code> - True if in time, this date and time lies after the date and time          supplied. False otherwise.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_hour">hour</a></h2><p><code>public int <strong>hour</strong>()</code></p><p>Retrieve the hour from the date stored</p><h3>Returns</h3><p><code>int</code> - the hour value of the date stored</p><hr><h2><a name="method_is_digit">is_digit</a></h2><p><code>public boolean <strong>is_digit</strong>(char x)</code></p><p>Check to see if a character is numeric</p><h3>Parameters</h3><p><code>x</code> - Character to be tested</p><h3>Returns</h3><p><code>boolean</code> - True if the character is numeric. False otherwise.</p><hr><h2><a name="method_lt">lt</a></h2><p><code>public boolean <strong>lt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Comparison on this and the supplied dates and times (taking timezones
- into account)</p><h3>Parameters</h3><p><code>arg</code> - XSDateTime representation of the date to compare to</p><h3>Returns</h3><p><code>boolean</code> - True if in time, this date and time lies before the date and time          supplied. False otherwise.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_minus">minus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>minus</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical minus operator between this XSDateTime and a supplied result
- sequence (XSDateTime, XDTYearMonthDuration and XDTDayTimeDuration are
- only valid ones).</p><h3>Parameters</h3><p><code>arg</code> - The supplied ResultSequence that is on the right of the minus             operator. If this is an XSDateTime, the result will be a             XDTDayTimeDuration of the duration of time between these two             dates. If arg is an XDTYearMonthDuration or an             XDTDayTimeDuration the result will be a XSDateTime of the             result of the current date minus the duration of time             supplied.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the result of the mathematical          minus operation.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_minute">minute</a></h2><p><code>public int <strong>minute</strong>()</code></p><p>Retrieve the minute from the date stored</p><h3>Returns</h3><p><code>int</code> - the minute value of the date stored</p><hr><h2><a name="method_month">month</a></h2><p><code>public int <strong>month</strong>()</code></p><p>Retrieve the month from the date stored</p><h3>Returns</h3><p><code>int</code> - the month value of the date stored</p><hr><h2><a name="method_pad_int">pad_int</a></h2><p><code>public java.lang.String <strong>pad_int</strong>(int num
-         ,
-      int len)</code></p><p>Pads the supplied number to the supplied number of digits by adding 0's
- in front of it</p><h3>Parameters</h3><p><code>num</code> - Number that si to be padded (if neccessay)</p><p><code>len</code> - Desired length after padding</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the padded integer</p><hr><h2><a name="method_parse_date">parse_date</a></h2><p><code>public int[] <strong>parse_date</strong>(java.lang.String str)</code></p><p>Parses a String representation of a date and time and retrieves the year,
- month and day from it</p><h3>Parameters</h3><p><code>str</code> - The String representation of the date (and optional timezone)</p><h3>Returns</h3><p><code>int[]</code> - Integer array of size 3. Element 1 is the year, element 2 is the          month and element 3 is the day</p><hr><h2><a name="method_parse_time">parse_time</a></h2><p><code>public double[] <strong>parse_time</strong>(java.lang.String str)</code></p><p>Parses a String representation of a date and time and retrieves the hour,
- minute and seconds from it</p><h3>Parameters</h3><p><code>str</code> - The String representation of the date (and optional timezone)</p><h3>Returns</h3><p><code>double[]</code> - Integer array of size 3. Element 1 is the hour, element 2 is the          minute and element 3 is the seconds</p><hr><h2><a name="method_parse_timezone">parse_timezone</a></h2><p><code>public int[] <strong>parse_timezone</strong>(java.lang.String str)</code></p><p>Parses a String representation of a date and time and retrieves the
- timezone from it</p><h3>Parameters</h3><p><code>str</code> - The String representation of the date (and optional timezone)</p><h3>Returns</h3><p><code>int[]</code> - Integer array of size 3. Element 1 represents whether the          timezone is ahead or behind GMT, element 2 is the hour          displacement and element 3 is the minute displacement.</p><hr><h2><a name="method_parseDateTime">parseDateTime</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime <strong>parseDateTime</strong>(java.lang.String str)</code></p><p>Parses a String representation of a date and time and constructs a new
- XSDateTime object using that information</p><h3>Parameters</h3><p><code>str</code> - The String representation of the date (and optional timezone)</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime</code> - The XSDateTime representation of the date and time (and optional          timezone)</p><hr><h2><a name="method_plus">plus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>plus</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical addition operator between this XSDateTime and a supplied
- result sequence (XDTYearMonthDuration and XDTDayTimeDuration are only
- valid ones).</p><h3>Parameters</h3><p><code>arg</code> - The supplied ResultSequence that is on the right of the minus             operator. If arg is an XDTYearMonthDuration or an             XDTDayTimeDuration the result will be a XSDateTime of the             result of the current date minus the duration of time             supplied.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the result of the mathematical          minus operation.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_second">second</a></h2><p><code>public double <strong>second</strong>()</code></p><p>Retrieve the seconds from the date stored</p><h3>Returns</h3><p><code>double</code> - the seconds value of the date stored</p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrive the datatype full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:dateTime" which is the datatype full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the date and time stored</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the date and time stored</p><hr><h2><a name="method_timezoned">timezoned</a></h2><p><code>public boolean <strong>timezoned</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype name</p><h3>Returns</h3><p><code>java.lang.String</code> - "dateTime" which is the dataype name</p><hr><h2><a name="method_tz">tz</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration <strong>tz</strong>()</code></p><p>Retrieves the timezone associated with the date stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code> - the timezone associated with the date stored</p><hr><h2><a name="method_value">value</a></h2><p><code>public double <strong>value</strong>()</code></p><p>Currently unsupported method. Retrieves the date in milliseconds since
- the begining of epoch</p><h3>Returns</h3><p><code>double</code> - Number of milliseconds since the begining of the epoch</p><hr><h2><a name="method_year">year</a></h2><p><code>public int <strong>year</strong>()</code></p><p>Retrieve the year from the date stored</p><h3>Returns</h3><p><code>int</code> - the year value of the date stored</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDayTimeDuration.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDayTimeDuration.html
deleted file mode 100644
index 68dae93..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDayTimeDuration.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSDayTimeDuration</h2><br><hr><pre>public class <strong>XSDayTimeDuration</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</pre>A representation of the DayTimeDuration datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSDayTimeDuration">XSDayTimeDuration</a></strong>(int days
-         ,
-      int hours
-         ,
-      int minutes
-         ,
-      double seconds
-         ,
-      boolean negative)</code></td></tr><tr><td><code><strong><a href="#con_XSDayTimeDuration">XSDayTimeDuration</a></strong>(double secs)</code></td></tr><tr><td><code><strong><a href="#con_XSDayTimeDuration">XSDayTimeDuration</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_clone">clone</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a copy of this representation of a time duration</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_div">div</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical division between this duration stored and the supplied
- duration of time (of type XSDayTimeDuration)</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_minus">minus</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical subtraction between this duration stored and the supplied
- duration of time (of type XSDayTimeDuration)</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code></td><td width="" align="left"><code><a href="#method_parseDTDuration">parseDTDuration</a>(java.lang.String str)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new XSDayTimeDuration by parsing the supplied String
- represented duration of time</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_plus">plus</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical addition between this duration stored and the supplied
- duration of time (of type XSDayTimeDuration)</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_times">times</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical multiplication between this duration stored and the supplied
- duration of time (of type XSDayTimeDuration)</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrives the datatype's name</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSDayTimeDuration">XSDayTimeDuration</a></h2><p><code>public <strong>XSDayTimeDuration</strong>(int days
-         ,
-      int hours
-         ,
-      int minutes
-         ,
-      double seconds
-         ,
-      boolean negative)</code></p><p>Initialises to the supplied parameters. If more than 24 hours is
- supplied, the number of days is adjusted acordingly. The same occurs for
- minutes and seconds</p><hr><h2><a name="con_XSDayTimeDuration">XSDayTimeDuration</a></h2><p><code>public <strong>XSDayTimeDuration</strong>(double secs)</code></p><p>Initialises to the given number of seconds</p><hr><h2><a name="con_XSDayTimeDuration">XSDayTimeDuration</a></h2><p><code>public <strong>XSDayTimeDuration</strong>()</code></p><p>Initialises to a duration of no time (0days, 0hours, 0minutes, 0seconds)</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_clone">clone</a></h2><p><code>public java.lang.Object <strong>clone</strong>()</code></p><p>Creates a copy of this representation of a time duration</p><h3>Returns</h3><p><code>java.lang.Object</code> - New XSDayTimeDuration representing the duration of time stored</p><h3>Throws:</h3><p><code>java.lang.CloneNotSupportedException</code></p><hr><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p></p><h3>Parameters</h3><p><code>arg</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_div">div</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>div</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical division between this duration stored and the supplied
- duration of time (of type XSDayTimeDuration)</p><h3>Parameters</h3><p><code>arg</code> - The duration of time to divide by</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New XSDayTimeDuration representing the resulting duration after          the division</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_minus">minus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>minus</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical subtraction between this duration stored and the supplied
- duration of time (of type XSDayTimeDuration)</p><h3>Parameters</h3><p><code>arg</code> - The duration of time to subtract</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New XSDayTimeDuration representing the resulting duration after          the subtraction</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_parseDTDuration">parseDTDuration</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration <strong>parseDTDuration</strong>(java.lang.String str)</code></p><p>Creates a new XSDayTimeDuration by parsing the supplied String
- represented duration of time</p><h3>Parameters</h3><p><code>str</code> - String represented duration of time</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code> - New XSDayTimeDuration representing the duration of time supplied</p><hr><h2><a name="method_plus">plus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>plus</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical addition between this duration stored and the supplied
- duration of time (of type XSDayTimeDuration)</p><h3>Parameters</h3><p><code>arg</code> - The duration of time to add</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New XSDayTimeDuration representing the resulting duration after          the addition</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:dayTimeDuration" which is the datatype's full pathname</p><hr><h2><a name="method_times">times</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>times</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical multiplication between this duration stored and the supplied
- duration of time (of type XSDayTimeDuration)</p><h3>Parameters</h3><p><code>arg</code> - The duration of time to multiply by</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New XSDayTimeDuration representing the resulting duration after          the multiplication</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrives the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "dayTimeDuration" which is the datatype's name</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal.html
deleted file mode 100644
index d25727b..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSDecimal</h2><br><hr><pre>public class <strong>XSDecimal</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</pre>A representation of the Decimal datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSDecimal">XSDecimal</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XSDecimal">XSDecimal</a></strong>(java.math.BigDecimal x)</code></td></tr><tr><td><code><strong><a href="#con_XSDecimal">XSDecimal</a></strong>(java.lang.String x)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_abs">abs</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Absolutes the number stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_ceiling">ceiling</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the smallest integer greater than the number stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new result sequence consisting of the retrievable decimal
- number in the supplied result sequence</td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_convertArg">convertArg</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_div">div</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical division operator between this XSDecimal and the supplied
- ResultSequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public double</code></td><td width="" align="left"><code><a href="#method_double_value">double_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the actual value of the number stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_eq">eq</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType at)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Equality comparison between this number and the supplied representation.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_floor">floor</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the largest integer smaller than the number stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.math.BigDecimal</code></td><td width="" align="left"><code><a href="#method_getValue">getValue</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_gt">gt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Comparison between this number and the supplied representation.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_idiv">idiv</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical integer division operator between this XSDecimal and the
- supplied ResultSequence. Due to no numeric type promotion or conversion,
- the ResultSequence must be of type XSDecimal.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_lt">lt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Comparison between this number and the supplied representation.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_minus">minus</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical subtraction operator between this XSDecimal and the supplied
- ResultSequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_mod">mod</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical modulus operator between this XSDecimal and the supplied
- ResultSequence. Due to no numeric type promotion or conversion, the
- ResultSequence must be of type XSDecimal.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_plus">plus</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical addition operator between this XSDecimal and the supplied
- ResultSequence. Due to no numeric type promotion or conversion, the
- ResultSequence must be of type XSDecimal.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_round">round</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the closest integer of the number stored.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_round_half_to_even">round_half_to_even</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the closest integer of the number stored.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_round_half_to_even">round_half_to_even</a>(int precision)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the closest integer of the number stored with the specified precision.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_double">set_double</a>(double x)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Sets the number stored to that supplied</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the Decimal value stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_times">times</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical multiplication operator between this XSDecimal and the
- supplied ResultSequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_unary_minus">unary_minus</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Negation of the number stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_zero">zero</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Check if this XSDecimal represents 0</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSDecimal">XSDecimal</a></h2><p><code>public <strong>XSDecimal</strong>()</code></p><p>Initiates a representation of 0.0</p><hr><h2><a name="con_XSDecimal">XSDecimal</a></h2><p><code>public <strong>XSDecimal</strong>(java.math.BigDecimal x)</code></p><p>Initiates a representation of the supplied number</p><hr><h2><a name="con_XSDecimal">XSDecimal</a></h2><p><code>public <strong>XSDecimal</strong>(java.lang.String x)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_abs">abs</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>abs</strong>()</code></p><p>Absolutes the number stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - A XSDecimal representing the absolute value of the number stored</p><hr><h2><a name="method_ceiling">ceiling</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>ceiling</strong>()</code></p><p>Returns the smallest integer greater than the number stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - A XSDecimal representing the smallest integer greater than the          number stored</p><hr><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new result sequence consisting of the retrievable decimal
- number in the supplied result sequence</p><h3>Parameters</h3><p><code>arg</code> - The result sequence from which to extract the decimal number.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A new result sequence consisting of the decimal number supplied.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_convertArg">convertArg</a></h2><p><code>protected org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>convertArg</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p></p><h3>Parameters</h3><p><code>arg</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_div">div</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>div</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical division operator between this XSDecimal and the supplied
- ResultSequence.</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence to perform a division with</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSDecimal consisting of the result of the mathematical          division.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_double_value">double_value</a></h2><p><code>public double <strong>double_value</strong>()</code></p><p>Retrieves the actual value of the number stored</p><h3>Returns</h3><p><code>double</code> - The actual value of the number stored</p><hr><h2><a name="method_eq">eq</a></h2><p><code>public boolean <strong>eq</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType at)</code></p><p>Equality comparison between this number and the supplied representation.</p><h3>Parameters</h3><p><code>at</code> - Representation to be compared with (must currently be of type             XSDecimal)</p><h3>Returns</h3><p><code>boolean</code> - True if the 2 representation represent the same number. False          otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_floor">floor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>floor</strong>()</code></p><p>Returns the largest integer smaller than the number stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - A XSDecimal representing the largest integer smaller than the          number stored</p><hr><h2><a name="method_getValue">getValue</a></h2><p><code>public java.math.BigDecimal <strong>getValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.math.BigDecimal</code></p><hr><h2><a name="method_gt">gt</a></h2><p><code>public boolean <strong>gt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Comparison between this number and the supplied representation.</p><h3>Parameters</h3><p><code>arg</code> - Representation to be compared with (must currently be of type             XSDecimal)</p><h3>Returns</h3><p><code>boolean</code> - True if the supplied type represents a number smaller than this          one stored. False otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_idiv">idiv</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>idiv</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical integer division operator between this XSDecimal and the
- supplied ResultSequence. Due to no numeric type promotion or conversion,
- the ResultSequence must be of type XSDecimal.</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence to perform an integer division with</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSInteger consisting of the result of the mathematical integer          division.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_lt">lt</a></h2><p><code>public boolean <strong>lt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Comparison between this number and the supplied representation.</p><h3>Parameters</h3><p><code>arg</code> - Representation to be compared with (must currently be of type             XSDecimal)</p><h3>Returns</h3><p><code>boolean</code> - True if the supplied type represents a number greater than this          one stored. False otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_minus">minus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>minus</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical subtraction operator between this XSDecimal and the supplied
- ResultSequence.</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence to perform a subtraction with</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSDecimal consisting of the result of the mathematical          subtraction.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_mod">mod</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>mod</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical modulus operator between this XSDecimal and the supplied
- ResultSequence. Due to no numeric type promotion or conversion, the
- ResultSequence must be of type XSDecimal.</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence to perform a modulus with</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSDecimal consisting of the result of the mathematical modulus.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_plus">plus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>plus</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical addition operator between this XSDecimal and the supplied
- ResultSequence. Due to no numeric type promotion or conversion, the
- ResultSequence must be of type XSDecimal.</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence to perform an addition with</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSDecimal consisting of the result of the mathematical          addition.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_round">round</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>round</strong>()</code></p><p>Returns the closest integer of the number stored.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - A XSDecimal representing the closest long of the number stored.</p><hr><h2><a name="method_round_half_to_even">round_half_to_even</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>round_half_to_even</strong>()</code></p><p>Returns the closest integer of the number stored.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - A XSDecimal representing the closest long of the number stored.</p><hr><h2><a name="method_round_half_to_even">round_half_to_even</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>round_half_to_even</strong>(int precision)</code></p><p>Returns the closest integer of the number stored with the specified precision.</p><h3>Parameters</h3><p><code>precision</code> - An integer precision</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - A XSDecimal representing the closest long of the number stored.</p><hr><h2><a name="method_set_double">set_double</a></h2><p><code>public void <strong>set_double</strong>(double x)</code></p><p>Sets the number stored to that supplied</p><h3>Parameters</h3><p><code>x</code> - Number to be stored</p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:decimal" which is the datatype's full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the Decimal value stored</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the Decimal value stored</p><hr><h2><a name="method_times">times</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>times</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical multiplication operator between this XSDecimal and the
- supplied ResultSequence.</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence to perform a multiplication with</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSDecimal consisting of the result of the mathematical          multiplication.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "decimal" which is the datatype's name</p><hr><h2><a name="method_unary_minus">unary_minus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>unary_minus</strong>()</code></p><p>Negation of the number stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSDecimal representing the negation of this XSDecimal</p><hr><h2><a name="method_zero">zero</a></h2><p><code>public boolean <strong>zero</strong>()</code></p><p>Check if this XSDecimal represents 0</p><h3>Returns</h3><p><code>boolean</code> - True if this XSDecimal represents 0. False otherwise</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble.html
deleted file mode 100644
index 5f3ee55..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSDouble</h2><br><hr><pre>public class <strong>XSDouble</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</pre>A representation of the Double datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSDouble">XSDouble</a></strong>(double x)</code></td></tr><tr><td><code><strong><a href="#con_XSDouble">XSDouble</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XSDouble">XSDouble</a></strong>(java.lang.String init)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_abs">abs</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Absolutes the number stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_ceiling">ceiling</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the smallest integer greater than the number stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new result sequence consisting of the retrievable double number
- in the supplied result sequence</td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_convertArg">convertArg</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_div">div</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical division operator between this XSDouble and the supplied
- ResultSequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public double</code></td><td width="" align="left"><code><a href="#method_double_value">double_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the actual value of the number stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_eq">eq</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType aa)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Equality comparison between this number and the supplied representation.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_floor">floor</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the largest integer smaller than the number stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_gt">gt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Comparison between this number and the supplied representation.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_idiv">idiv</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical integer division operator between this XSDouble and the
- supplied ResultSequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_infinite">infinite</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Check for whether this XSDouble represents an infinite number (negative or positive)</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_lt">lt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Comparison between this number and the supplied representation. Currently
- no numeric type promotion exists so the supplied representation must be
- of type XSDouble.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_minus">minus</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical subtraction operator between this XSDouble and the supplied
- ResultSequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_mod">mod</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical modulus operator between this XSDouble and the supplied
- ResultSequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_nan">nan</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Check for whether this XSDouble represents NaN</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_negativeZero">negativeZero</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble</code></td><td width="" align="left"><code><a href="#method_parse_double">parse_double</a>(java.lang.String i)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new representation of the String represented number</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_plus">plus</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical addition operator between this XSDouble and the supplied
- ResultSequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_round">round</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the closest integer of the number stored.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_round_half_to_even">round_half_to_even</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the closest integer of the number stored.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_round_half_to_even">round_half_to_even</a>(int precision)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the closest integer of the number stored with the specified
- precision.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the Decimal value stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_times">times</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical multiplication operator between this XSDouble and the
- supplied ResultSequence. Due to no numeric type promotion or conversion,
- the ResultSequence must be of type XSDouble.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_unary_minus">unary_minus</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Negation of the number stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_zero">zero</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Check for whether this XSDouble represents 0</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSDouble">XSDouble</a></h2><p><code>public <strong>XSDouble</strong>(double x)</code></p><p>Initialises a representation of the supplied number</p><hr><h2><a name="con_XSDouble">XSDouble</a></h2><p><code>public <strong>XSDouble</strong>()</code></p><p>Initializes a representation of 0</p><hr><h2><a name="con_XSDouble">XSDouble</a></h2><p><code>public <strong>XSDouble</strong>(java.lang.String init)</code></p><p>Initialises using a String represented number</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_abs">abs</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>abs</strong>()</code></p><p>Absolutes the number stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - A XSDouble representing the absolute value of the number stored</p><hr><h2><a name="method_ceiling">ceiling</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>ceiling</strong>()</code></p><p>Returns the smallest integer greater than the number stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - A XSDouble representing the smallest integer greater than the          number stored</p><hr><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new result sequence consisting of the retrievable double number
- in the supplied result sequence</p><h3>Parameters</h3><p><code>arg</code> - The result sequence from which to extract the double number.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A new result sequence consisting of the double number supplied.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_convertArg">convertArg</a></h2><p><code>protected org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>convertArg</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p></p><h3>Parameters</h3><p><code>arg</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_div">div</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>div</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical division operator between this XSDouble and the supplied
- ResultSequence.</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence to perform an division with</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSDouble consisting of the result of the mathematical division.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_double_value">double_value</a></h2><p><code>public double <strong>double_value</strong>()</code></p><p>Retrieves the actual value of the number stored</p><h3>Returns</h3><p><code>double</code> - The actual value of the number stored</p><hr><h2><a name="method_eq">eq</a></h2><p><code>public boolean <strong>eq</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType aa)</code></p><p>Equality comparison between this number and the supplied representation.</p><h3>Parameters</h3><p><code>aa</code> - Representation to be compared with (must currently be of type             XSDouble)</p><h3>Returns</h3><p><code>boolean</code> - True if the 2 representations represent the same number. False          otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_floor">floor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>floor</strong>()</code></p><p>Returns the largest integer smaller than the number stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - A XSDouble representing the largest integer smaller than the          number stored</p><hr><h2><a name="method_gt">gt</a></h2><p><code>public boolean <strong>gt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Comparison between this number and the supplied representation.</p><h3>Parameters</h3><p><code>arg</code> - Representation to be compared with (must currently be of type             XSDouble)</p><h3>Returns</h3><p><code>boolean</code> - True if the supplied type represents a number smaller than this          one stored. False otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_idiv">idiv</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>idiv</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical integer division operator between this XSDouble and the
- supplied ResultSequence.</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence to perform an integer division with</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSInteger consisting of the result of the mathematical integer          division.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_infinite">infinite</a></h2><p><code>public boolean <strong>infinite</strong>()</code></p><p>Check for whether this XSDouble represents an infinite number (negative or positive)</p><h3>Returns</h3><p><code>boolean</code> - True if this XSDouble represents infinity. False otherwise.</p><hr><h2><a name="method_lt">lt</a></h2><p><code>public boolean <strong>lt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Comparison between this number and the supplied representation. Currently
- no numeric type promotion exists so the supplied representation must be
- of type XSDouble.</p><h3>Parameters</h3><p><code>arg</code> - Representation to be compared with (must currently be of type             XSDouble)</p><h3>Returns</h3><p><code>boolean</code> - True if the supplied type represents a number greater than this          one stored. False otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_minus">minus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>minus</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical subtraction operator between this XSDouble and the supplied
- ResultSequence.</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence to perform an subtraction with</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSDouble consisting of the result of the mathematical          subtraction.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_mod">mod</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>mod</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical modulus operator between this XSDouble and the supplied
- ResultSequence.</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence to perform a modulus with</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSDouble consisting of the result of the mathematical modulus.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_nan">nan</a></h2><p><code>public boolean <strong>nan</strong>()</code></p><p>Check for whether this XSDouble represents NaN</p><h3>Returns</h3><p><code>boolean</code> - True if this XSDouble represents NaN. False otherwise.</p><hr><h2><a name="method_negativeZero">negativeZero</a></h2><p><code>public boolean <strong>negativeZero</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_parse_double">parse_double</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble <strong>parse_double</strong>(java.lang.String i)</code></p><p>Creates a new representation of the String represented number</p><h3>Parameters</h3><p><code>i</code> - String representation of the number to be stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble</code> - New XSDouble representing the number supplied</p><hr><h2><a name="method_plus">plus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>plus</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical addition operator between this XSDouble and the supplied
- ResultSequence.</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence to perform an addition with</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSDouble consisting of the result of the mathematical addition.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_round">round</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>round</strong>()</code></p><p>Returns the closest integer of the number stored.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - A XSDouble representing the closest long of the number stored.</p><hr><h2><a name="method_round_half_to_even">round_half_to_even</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>round_half_to_even</strong>()</code></p><p>Returns the closest integer of the number stored.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - A XSDouble representing the closest long of the number stored.</p><hr><h2><a name="method_round_half_to_even">round_half_to_even</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>round_half_to_even</strong>(int precision)</code></p><p>Returns the closest integer of the number stored with the specified
- precision.</p><h3>Parameters</h3><p><code>precision</code> - An integer precision</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - A XSDouble representing the closest long of the number stored.</p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:double" which is the datatype's full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the Decimal value stored</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the Decimal value stored</p><hr><h2><a name="method_times">times</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>times</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical multiplication operator between this XSDouble and the
- supplied ResultSequence. Due to no numeric type promotion or conversion,
- the ResultSequence must be of type XSDouble.</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence to perform an multiplication with</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSDouble consisting of the result of the mathematical          multiplication.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "double" which is the datatype's name</p><hr><h2><a name="method_unary_minus">unary_minus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>unary_minus</strong>()</code></p><p>Negation of the number stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSDouble representing the negation of this XSDecimal</p><hr><h2><a name="method_zero">zero</a></h2><p><code>public boolean <strong>zero</strong>()</code></p><p>Check for whether this XSDouble represents 0</p><h3>Returns</h3><p><code>boolean</code> - True if this XSDouble represents 0. False otherwise.</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration.html
deleted file mode 100644
index fff5600..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSDuration</h2><br><hr><pre>public class <strong>XSDuration</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType</pre>A representation of the xs:duration data type. Other duration implementations
- should inherit from this implementation.<p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected int</code></td><td width="80%" align="left"><code><a href="#field__days">_days</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected int</code></td><td width="80%" align="left"><code><a href="#field__hours">_hours</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected int</code></td><td width="80%" align="left"><code><a href="#field__minutes">_minutes</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected int</code></td><td width="80%" align="left"><code><a href="#field__month">_month</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected boolean</code></td><td width="80%" align="left"><code><a href="#field__negative">_negative</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected double</code></td><td width="80%" align="left"><code><a href="#field__seconds">_seconds</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected int</code></td><td width="80%" align="left"><code><a href="#field__year">_year</a></code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSDuration">XSDuration</a></strong>(int years
-         ,
-      int months
-         ,
-      int days
-         ,
-      int hours
-         ,
-      int minutes
-         ,
-      double seconds
-         ,
-      boolean negative)</code></td></tr><tr><td><code><strong><a href="#con_XSDuration">XSDuration</a></strong>(double secs)</code></td></tr><tr><td><code><strong><a href="#con_XSDuration">XSDuration</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_clone">clone</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable time duration
- from the supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_days">days</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the number of days within the duration of time stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_eq">eq</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Equality comparison between this and the supplied duration of time.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_gt">gt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Comparison between this and the supplied duration of time.</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_hours">hours</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the number of hours (max 24) within the duration of time stored</td></tr><tr valign="top"><td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code><a href="#method_isCastable">isCastable</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType aat)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_lt">lt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Comparison between this and the supplied duration of time.</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_minutes">minutes</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the number of minutes (max 60) within the duration of time
- stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_month">month</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the number of months within the duration of time stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_negative">negative</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves whether this duration represents a backward passage through
- time</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code></td><td width="" align="left"><code><a href="#method_parseDTDuration">parseDTDuration</a>(java.lang.String str)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new XSDayTimeDuration by parsing the supplied String
- represented duration of time</td></tr><tr valign="top"><td width="20%" align="right"><code>public double</code></td><td width="" align="left"><code><a href="#method_seconds">seconds</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the number of seconds (max 60) within the duration of time
- stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the duration stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public double</code></td><td width="" align="left"><code><a href="#method_value">value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the duration of time stored as the number of seconds within it</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_year">year</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the number of years within the duration of time stored</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Field Detail
-               </h2></td></tr></table><h2><a name="field__days">_days</a></h2><p><code>protected int <strong>_days</strong></code></p><hr><h2><a name="field__hours">_hours</a></h2><p><code>protected int <strong>_hours</strong></code></p><hr><h2><a name="field__minutes">_minutes</a></h2><p><code>protected int <strong>_minutes</strong></code></p><hr><h2><a name="field__month">_month</a></h2><p><code>protected int <strong>_month</strong></code></p><hr><h2><a name="field__negative">_negative</a></h2><p><code>protected boolean <strong>_negative</strong></code></p><hr><h2><a name="field__seconds">_seconds</a></h2><p><code>protected double <strong>_seconds</strong></code></p><hr><h2><a name="field__year">_year</a></h2><p><code>protected int <strong>_year</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSDuration">XSDuration</a></h2><p><code>public <strong>XSDuration</strong>(int years
-         ,
-      int months
-         ,
-      int days
-         ,
-      int hours
-         ,
-      int minutes
-         ,
-      double seconds
-         ,
-      boolean negative)</code></p><p>Initializes to the supplied parameters. If more than 24 hours is
- supplied, the number of days is adjusted accordingly. The same occurs for
- minutes and seconds</p><hr><h2><a name="con_XSDuration">XSDuration</a></h2><p><code>public <strong>XSDuration</strong>(double secs)</code></p><p>Initialises to the given number of seconds</p><hr><h2><a name="con_XSDuration">XSDuration</a></h2><p><code>public <strong>XSDuration</strong>()</code></p><p>Initialises to a duration of no time (0days, 0hours, 0minutes, 0seconds)</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_clone">clone</a></h2><p><code>public java.lang.Object <strong>clone</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><h3>Throws:</h3><p><code>java.lang.CloneNotSupportedException</code></p><hr><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable time duration
- from the supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which to extract</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the time duration extracted</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_days">days</a></h2><p><code>public int <strong>days</strong>()</code></p><p>Retrieves the number of days within the duration of time stored</p><h3>Returns</h3><p><code>int</code> - Number of days within the duration of time stored</p><hr><h2><a name="method_eq">eq</a></h2><p><code>public boolean <strong>eq</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Equality comparison between this and the supplied duration of time.</p><h3>Parameters</h3><p><code>arg</code> - The duration of time to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if they both represent the duration of time. False otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_gt">gt</a></h2><p><code>public boolean <strong>gt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Comparison between this and the supplied duration of time.</p><h3>Parameters</h3><p><code>arg</code> - The duration of time to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if the supplied time represents a smaller duration than that          stored. False otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_hours">hours</a></h2><p><code>public int <strong>hours</strong>()</code></p><p>Retrieves the number of hours (max 24) within the duration of time stored</p><h3>Returns</h3><p><code>int</code> - Number of hours within the duration of time stored</p><hr><h2><a name="method_isCastable">isCastable</a></h2><p><code>protected boolean <strong>isCastable</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType aat)</code></p><p></p><h3>Parameters</h3><p><code>aat</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_lt">lt</a></h2><p><code>public boolean <strong>lt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Comparison between this and the supplied duration of time.</p><h3>Parameters</h3><p><code>arg</code> - The duration of time to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if the supplied time represents a larger duration than that          stored. False otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_minutes">minutes</a></h2><p><code>public int <strong>minutes</strong>()</code></p><p>Retrieves the number of minutes (max 60) within the duration of time
- stored</p><h3>Returns</h3><p><code>int</code> - Number of minutes within the duration of time stored</p><hr><h2><a name="method_month">month</a></h2><p><code>public int <strong>month</strong>()</code></p><p>Retrieves the number of months within the duration of time stored</p><h3>Returns</h3><p><code>int</code> - Number of months within the duration of time stored</p><hr><h2><a name="method_negative">negative</a></h2><p><code>public boolean <strong>negative</strong>()</code></p><p>Retrieves whether this duration represents a backward passage through
- time</p><h3>Returns</h3><p><code>boolean</code> - True if this duration represents a backward passage through time.          False otherwise</p><hr><h2><a name="method_parseDTDuration">parseDTDuration</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration <strong>parseDTDuration</strong>(java.lang.String str)</code></p><p>Creates a new XSDayTimeDuration by parsing the supplied String
- represented duration of time</p><h3>Parameters</h3><p><code>str</code> - String represented duration of time</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code> - New XSDayTimeDuration representing the duration of time supplied</p><hr><h2><a name="method_seconds">seconds</a></h2><p><code>public double <strong>seconds</strong>()</code></p><p>Retrieves the number of seconds (max 60) within the duration of time
- stored</p><h3>Returns</h3><p><code>double</code> - Number of seconds within the duration of time stored</p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the duration stored</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the duration stored</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_value">value</a></h2><p><code>public double <strong>value</strong>()</code></p><p>Retrieves the duration of time stored as the number of seconds within it</p><h3>Returns</h3><p><code>double</code> - Number of seconds making up this duration of time</p><hr><h2><a name="method_year">year</a></h2><p><code>public int <strong>year</strong>()</code></p><p>Retrieves the number of years within the duration of time stored</p><h3>Returns</h3><p><code>int</code> - Number of years within the duration of time stored</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSEntity.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSEntity.html
deleted file mode 100644
index ff3393d..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSEntity.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSEntity</h2><br><hr><pre>public class <strong>XSEntity</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName</pre>Built in Data Type for xs:Entity<p></p><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSEntity">XSEntity</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XSEntity">XSEntity</a></strong>(java.lang.String value)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the ENTITY within
- the supplied ResultSequence.  The specification says that this
- is relaxed from the XML Schema requirement.  The ENTITY does
- not have to be located or expanded during construction and
- evaluation for casting.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSEntity">XSEntity</a></h2><p><code>public <strong>XSEntity</strong>()</code></p><p></p><hr><h2><a name="con_XSEntity">XSEntity</a></h2><p><code>public <strong>XSEntity</strong>(java.lang.String value)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the ENTITY within
- the supplied ResultSequence.  The specification says that this
- is relaxed from the XML Schema requirement.  The ENTITY does
- not have to be located or expanded during construction and
- evaluation for casting.</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which to extract the ENTITY</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the ENTITY supplied</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat.html
deleted file mode 100644
index 410247d..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSFloat</h2><br><hr><pre>public class <strong>XSFloat</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</pre>A representation of the Float datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSFloat">XSFloat</a></strong>(float x)</code></td></tr><tr><td><code><strong><a href="#con_XSFloat">XSFloat</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_abs">abs</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Absolutes the number stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_ceiling">ceiling</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the smallest integer greater than the number stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the retrievable float in the
- supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_convertArg">convertArg</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_div">div</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical division operator between this XSFloat and the supplied
- ResultSequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_eq">eq</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType aa)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Equality comparison between this number and the supplied representation.</td></tr><tr valign="top"><td width="20%" align="right"><code>public float</code></td><td width="" align="left"><code><a href="#method_float_value">float_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the actual float value stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_floor">floor</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the largest integer smaller than the number stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_gt">gt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Comparison between this number and the supplied representation.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_idiv">idiv</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical integer division operator between this XSFloat and the
- supplied ResultSequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_infinite">infinite</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Check for whether this datatype represents negative or positive infinity</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_lt">lt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Comparison between this number and the supplied representation.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_minus">minus</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical subtraction operator between this XSFloat and the supplied
- ResultSequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_mod">mod</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical modulus operator between this XSFloat and the supplied
- ResultSequence. Due to no numeric type promotion or conversion, the
- ResultSequence must be of type XSFloat.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_nan">nan</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Check for whether this datatype represents NaN</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_negativeZero">negativeZero</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_plus">plus</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical addition operator between this XSFloat and the supplied
- ResultSequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_round">round</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the closest integer of the number stored.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_round_half_to_even">round_half_to_even</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the closest integer of the number stored.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_round_half_to_even">round_half_to_even</a>(int precision)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Returns the closest integer of the number stored with the specified precision.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the stored number</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_times">times</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical multiplication operator between this XSFloat and the
- supplied ResultSequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_unary_minus">unary_minus</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Negates the number stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_zero">zero</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Check for whether this datatype represents 0</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSFloat">XSFloat</a></h2><p><code>public <strong>XSFloat</strong>(float x)</code></p><p>Initiates a representation of the supplied number</p><hr><h2><a name="con_XSFloat">XSFloat</a></h2><p><code>public <strong>XSFloat</strong>()</code></p><p>Initiates a representation of 0</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_abs">abs</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>abs</strong>()</code></p><p>Absolutes the number stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - A XSFloat representing the absolute value of the number stored</p><hr><h2><a name="method_ceiling">ceiling</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>ceiling</strong>()</code></p><p>Returns the smallest integer greater than the number stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - A XSFloat representing the smallest integer greater than the          number stored</p><hr><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the retrievable float in the
- supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which to extract the float</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the float supplied</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_convertArg">convertArg</a></h2><p><code>protected org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>convertArg</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p></p><h3>Parameters</h3><p><code>arg</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_div">div</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>div</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical division operator between this XSFloat and the supplied
- ResultSequence.</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence to perform a division with</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSFloat consisting of the result of the mathematical division.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_eq">eq</a></h2><p><code>public boolean <strong>eq</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType aa)</code></p><p>Equality comparison between this number and the supplied representation.</p><h3>Parameters</h3><p><code>aa</code> - The datatype to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if the two representations are of the same number. False          otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_float_value">float_value</a></h2><p><code>public float <strong>float_value</strong>()</code></p><p>Retrieves the actual float value stored</p><h3>Returns</h3><p><code>float</code> - The actual float value stored</p><hr><h2><a name="method_floor">floor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>floor</strong>()</code></p><p>Returns the largest integer smaller than the number stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - A XSFloat representing the largest integer smaller than the          number stored</p><hr><h2><a name="method_gt">gt</a></h2><p><code>public boolean <strong>gt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Comparison between this number and the supplied representation.</p><h3>Parameters</h3><p><code>arg</code> - The datatype to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if the supplied representation is a smaller number than the          one stored. False otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_idiv">idiv</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>idiv</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical integer division operator between this XSFloat and the
- supplied ResultSequence.</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence to perform an integer division with</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSInteger consisting of the result of the mathematical integer          division.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_infinite">infinite</a></h2><p><code>public boolean <strong>infinite</strong>()</code></p><p>Check for whether this datatype represents negative or positive infinity</p><h3>Returns</h3><p><code>boolean</code> - True is this datatype represents infinity. False otherwise</p><hr><h2><a name="method_lt">lt</a></h2><p><code>public boolean <strong>lt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Comparison between this number and the supplied representation.</p><h3>Parameters</h3><p><code>arg</code> - The datatype to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if the supplied representation is a greater number than the          one stored. False otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_minus">minus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>minus</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical subtraction operator between this XSFloat and the supplied
- ResultSequence.</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence to perform a subtraction with</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSFloat consisting of the result of the mathematical          subtraction.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_mod">mod</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>mod</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical modulus operator between this XSFloat and the supplied
- ResultSequence. Due to no numeric type promotion or conversion, the
- ResultSequence must be of type XSFloat.</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence to perform a modulus with</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSFloat consisting of the result of the mathematical modulus.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_nan">nan</a></h2><p><code>public boolean <strong>nan</strong>()</code></p><p>Check for whether this datatype represents NaN</p><h3>Returns</h3><p><code>boolean</code> - True is this datatype represents NaN. False otherwise</p><hr><h2><a name="method_negativeZero">negativeZero</a></h2><p><code>public boolean <strong>negativeZero</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_plus">plus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>plus</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical addition operator between this XSFloat and the supplied
- ResultSequence.</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence to perform an addition with</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSFloat consisting of the result of the mathematical addition.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_round">round</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>round</strong>()</code></p><p>Returns the closest integer of the number stored.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - A XSFloat representing the closest long of the number stored.</p><hr><h2><a name="method_round_half_to_even">round_half_to_even</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>round_half_to_even</strong>()</code></p><p>Returns the closest integer of the number stored.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - A XSFloat representing the closest long of the number stored.</p><hr><h2><a name="method_round_half_to_even">round_half_to_even</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>round_half_to_even</strong>(int precision)</code></p><p>Returns the closest integer of the number stored with the specified precision.</p><h3>Parameters</h3><p><code>precision</code> - An integer precision</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - A XSFloat representing the closest long of the number stored.</p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:float" which is the datatype's full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the stored number</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the stored number</p><hr><h2><a name="method_times">times</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>times</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical multiplication operator between this XSFloat and the
- supplied ResultSequence.</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence to perform a multiplication with</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSFloat consisting of the result of the mathematical          multiplication.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "float" which is the datatype's name</p><hr><h2><a name="method_unary_minus">unary_minus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>unary_minus</strong>()</code></p><p>Negates the number stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSFloat representing the negation of the number stored</p><hr><h2><a name="method_zero">zero</a></h2><p><code>public boolean <strong>zero</strong>()</code></p><p>Check for whether this datatype represents 0</p><h3>Returns</h3><p><code>boolean</code> - True if this datatype represents 0. False otherwise</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGDay.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGDay.html
deleted file mode 100644
index a0fb38b..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGDay.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSGDay</h2><br><hr><pre>public class <strong>XSGDay</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType</pre>A representation of the Day datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSGDay">XSGDay</a></strong>(java.util.Calendar cal
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration tz)</code></td></tr><tr><td><code><strong><a href="#con_XSGDay">XSGDay</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Calendar</code></td><td width="" align="left"><code><a href="#method_calendar">calendar</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the Calendar representation of the day stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable gDay in the
- supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_day">day</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the actual day as an integer</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_eq">eq</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Equality comparison between this and the supplied representation. This
- representation must be of type XSGDay</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.internal.types.XSGDay</code></td><td width="" align="left"><code><a href="#method_parse_gDay">parse_gDay</a>(java.lang.String str)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Parses a String representation of a day and constructs a new XSGDay
- representation of it.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the stored day</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_timezoned">timezoned</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Check for whether a timezone was specified at creation</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code></td><td width="" align="left"><code><a href="#method_tz">tz</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the timezone associated with the date stored</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSGDay">XSGDay</a></h2><p><code>public <strong>XSGDay</strong>(java.util.Calendar cal
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration tz)</code></p><p>Initializes a representation of the supplied day</p><hr><h2><a name="con_XSGDay">XSGDay</a></h2><p><code>public <strong>XSGDay</strong>()</code></p><p>Initialises a representation of the current day</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_calendar">calendar</a></h2><p><code>public java.util.Calendar <strong>calendar</strong>()</code></p><p>Retrieves the Calendar representation of the day stored</p><h3>Returns</h3><p><code>java.util.Calendar</code> - Calendar representation of the day stored</p><hr><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable gDay in the
- supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which the gDay is to be extracted</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the supplied day</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_day">day</a></h2><p><code>public int <strong>day</strong>()</code></p><p>Retrieves the actual day as an integer</p><h3>Returns</h3><p><code>int</code> - The actual day as an integer</p><hr><h2><a name="method_eq">eq</a></h2><p><code>public boolean <strong>eq</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Equality comparison between this and the supplied representation. This
- representation must be of type XSGDay</p><h3>Parameters</h3><p><code>arg</code> - The XSGDay to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if the two representations are of the same day. False          otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_parse_gDay">parse_gDay</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSGDay <strong>parse_gDay</strong>(java.lang.String str)</code></p><p>Parses a String representation of a day and constructs a new XSGDay
- representation of it.</p><h3>Parameters</h3><p><code>str</code> - The String representation of the day (and optional timezone)</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSGDay</code> - The XSGDay representation of the supplied date</p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:gDay" which is the datatype's full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the stored day</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the stored day</p><hr><h2><a name="method_timezoned">timezoned</a></h2><p><code>public boolean <strong>timezoned</strong>()</code></p><p>Check for whether a timezone was specified at creation</p><h3>Returns</h3><p><code>boolean</code> - True if a timezone was specified. False otherwise</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "gDay" which is the datatype's name</p><hr><h2><a name="method_tz">tz</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration <strong>tz</strong>()</code></p><p>Retrieves the timezone associated with the date stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code> - the timezone associated with the date stored</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonth.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonth.html
deleted file mode 100644
index e89076c..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonth.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSGMonth</h2><br><hr><pre>public class <strong>XSGMonth</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType</pre>A representation of the gMonth datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSGMonth">XSGMonth</a></strong>(java.util.Calendar cal
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration tz)</code></td></tr><tr><td><code><strong><a href="#con_XSGMonth">XSGMonth</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Calendar</code></td><td width="" align="left"><code><a href="#method_calendar">calendar</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the Calendar representation of the month stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable gMonth in the
- supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_eq">eq</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Equality comparison between this and the supplied representation. This
- representation must be of type XSGMonth</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_month">month</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the actual month as an integer</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonth</code></td><td width="" align="left"><code><a href="#method_parse_gMonth">parse_gMonth</a>(java.lang.String str)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Parses a String representation of a month and constructs a new XSGMonth
- representation of it.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the stored month</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_timezoned">timezoned</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Check for whether a timezone was specified at creation</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code></td><td width="" align="left"><code><a href="#method_tz">tz</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the timezone associated with the date stored</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSGMonth">XSGMonth</a></h2><p><code>public <strong>XSGMonth</strong>(java.util.Calendar cal
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration tz)</code></p><p>Initializes a representation of the supplied month</p><hr><h2><a name="con_XSGMonth">XSGMonth</a></h2><p><code>public <strong>XSGMonth</strong>()</code></p><p>Initialises a representation of the current month</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_calendar">calendar</a></h2><p><code>public java.util.Calendar <strong>calendar</strong>()</code></p><p>Retrieves the Calendar representation of the month stored</p><h3>Returns</h3><p><code>java.util.Calendar</code> - Calendar representation of the month stored</p><hr><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable gMonth in the
- supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which the gMonth is to be extracted</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the supplied month</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_eq">eq</a></h2><p><code>public boolean <strong>eq</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Equality comparison between this and the supplied representation. This
- representation must be of type XSGMonth</p><h3>Parameters</h3><p><code>arg</code> - The XSGMonth to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if the two representations are of the same month. False          otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_month">month</a></h2><p><code>public int <strong>month</strong>()</code></p><p>Retrieves the actual month as an integer</p><h3>Returns</h3><p><code>int</code> - The actual month as an integer</p><hr><h2><a name="method_parse_gMonth">parse_gMonth</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonth <strong>parse_gMonth</strong>(java.lang.String str)</code></p><p>Parses a String representation of a month and constructs a new XSGMonth
- representation of it.</p><h3>Parameters</h3><p><code>str</code> - The String representation of the month (and optional timezone)</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonth</code> - The XSGMonth representation of the supplied date</p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:gMonth" which is the datatype's full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the stored month</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the stored month</p><hr><h2><a name="method_timezoned">timezoned</a></h2><p><code>public boolean <strong>timezoned</strong>()</code></p><p>Check for whether a timezone was specified at creation</p><h3>Returns</h3><p><code>boolean</code> - True if a timezone was specified. False otherwise</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "gMonth" which is the datatype's name</p><hr><h2><a name="method_tz">tz</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration <strong>tz</strong>()</code></p><p>Retrieves the timezone associated with the date stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code> - the timezone associated with the date stored</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonthDay.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonthDay.html
deleted file mode 100644
index 36c50b1..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonthDay.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSGMonthDay</h2><br><hr><pre>public class <strong>XSGMonthDay</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType</pre>A representation of the MonthDay datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSGMonthDay">XSGMonthDay</a></strong>(java.util.Calendar cal
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration tz)</code></td></tr><tr><td><code><strong><a href="#con_XSGMonthDay">XSGMonthDay</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Calendar</code></td><td width="" align="left"><code><a href="#method_calendar">calendar</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the Calendar representation of the month and day stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable gMonthDay in
- the supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_day">day</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the actual day as an integer</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_eq">eq</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Equality comparison between this and the supplied representation. This
- representation must be of type XSGMonthDay</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_month">month</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the actual month as an integer</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonthDay</code></td><td width="" align="left"><code><a href="#method_parse_gMonthDay">parse_gMonthDay</a>(java.lang.String str)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Parses a String representation of a month and day and constructs a new
- XSGMonthDay representation of it.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the stored month and day</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_timezoned">timezoned</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Check for whether a timezone was specified at creation</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code></td><td width="" align="left"><code><a href="#method_tz">tz</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the timezone associated with the date stored</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSGMonthDay">XSGMonthDay</a></h2><p><code>public <strong>XSGMonthDay</strong>(java.util.Calendar cal
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration tz)</code></p><p>Initialises a representation of the supplied month and day</p><hr><h2><a name="con_XSGMonthDay">XSGMonthDay</a></h2><p><code>public <strong>XSGMonthDay</strong>()</code></p><p>Initialises a representation of the current month and day</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_calendar">calendar</a></h2><p><code>public java.util.Calendar <strong>calendar</strong>()</code></p><p>Retrieves the Calendar representation of the month and day stored</p><h3>Returns</h3><p><code>java.util.Calendar</code> - Calendar representation of the month and day stored</p><hr><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable gMonthDay in
- the supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which the gMonthDay is to be extracted</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the supplied month and day</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_day">day</a></h2><p><code>public int <strong>day</strong>()</code></p><p>Retrieves the actual day as an integer</p><h3>Returns</h3><p><code>int</code> - The actual day as an integer</p><hr><h2><a name="method_eq">eq</a></h2><p><code>public boolean <strong>eq</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Equality comparison between this and the supplied representation. This
- representation must be of type XSGMonthDay</p><h3>Parameters</h3><p><code>arg</code> - The XSGMonthDay to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if the two representations are of the same month and day.          False otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_month">month</a></h2><p><code>public int <strong>month</strong>()</code></p><p>Retrieves the actual month as an integer</p><h3>Returns</h3><p><code>int</code> - The actual month as an integer</p><hr><h2><a name="method_parse_gMonthDay">parse_gMonthDay</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonthDay <strong>parse_gMonthDay</strong>(java.lang.String str)</code></p><p>Parses a String representation of a month and day and constructs a new
- XSGMonthDay representation of it.</p><h3>Parameters</h3><p><code>str</code> - The String representation of the month and day (and optional             timezone)</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonthDay</code> - The XSGMonthDay representation of the supplied date</p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:gMonthDay" which is the datatype's full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the stored month and day</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the stored month and day</p><hr><h2><a name="method_timezoned">timezoned</a></h2><p><code>public boolean <strong>timezoned</strong>()</code></p><p>Check for whether a timezone was specified at creation</p><h3>Returns</h3><p><code>boolean</code> - True if a timezone was specified. False otherwise</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "gMonthDay" which is the datatype's name</p><hr><h2><a name="method_tz">tz</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration <strong>tz</strong>()</code></p><p>Retrieves the timezone associated with the date stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code> - the timezone associated with the date stored</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYear.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYear.html
deleted file mode 100644
index ca8b118..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYear.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSGYear</h2><br><hr><pre>public class <strong>XSGYear</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType</pre>A representation of the gMonth datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSGYear">XSGYear</a></strong>(java.util.Calendar cal
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration tz)</code></td></tr><tr><td><code><strong><a href="#con_XSGYear">XSGYear</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Calendar</code></td><td width="" align="left"><code><a href="#method_calendar">calendar</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the Calendar representation of the year stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable gYear in the
- supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_eq">eq</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Equality comparison between this and the supplied representation. This
- representation must be of type XSGYear</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYear</code></td><td width="" align="left"><code><a href="#method_parse_gYear">parse_gYear</a>(java.lang.String str)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Parses a String representation of a year and constructs a new XSGYear
- representation of it.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the stored year</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_timezoned">timezoned</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Check for whether a timezone was specified at creation</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code></td><td width="" align="left"><code><a href="#method_tz">tz</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the timezone associated with the date stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_year">year</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the actual year as an integer</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSGYear">XSGYear</a></h2><p><code>public <strong>XSGYear</strong>(java.util.Calendar cal
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration tz)</code></p><p>Initialises a representation of the supplied month</p><hr><h2><a name="con_XSGYear">XSGYear</a></h2><p><code>public <strong>XSGYear</strong>()</code></p><p>Initialises a representation of the current year</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_calendar">calendar</a></h2><p><code>public java.util.Calendar <strong>calendar</strong>()</code></p><p>Retrieves the Calendar representation of the year stored</p><h3>Returns</h3><p><code>java.util.Calendar</code> - Calendar representation of the year stored</p><hr><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable gYear in the
- supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which the gYear is to be extracted</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the supplied year</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_eq">eq</a></h2><p><code>public boolean <strong>eq</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Equality comparison between this and the supplied representation. This
- representation must be of type XSGYear</p><h3>Parameters</h3><p><code>arg</code> - The XSGYear to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if the two representations are of the same year. False          otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_parse_gYear">parse_gYear</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYear <strong>parse_gYear</strong>(java.lang.String str)</code></p><p>Parses a String representation of a year and constructs a new XSGYear
- representation of it.</p><h3>Parameters</h3><p><code>str</code> - The String representation of the year (and optional timezone)</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYear</code> - The XSGYear representation of the supplied date</p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:gYear" which is the datatype's full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the stored year</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the stored year</p><hr><h2><a name="method_timezoned">timezoned</a></h2><p><code>public boolean <strong>timezoned</strong>()</code></p><p>Check for whether a timezone was specified at creation</p><h3>Returns</h3><p><code>boolean</code> - True if a timezone was specified. False otherwise</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "gYear" which is the datatype's name</p><hr><h2><a name="method_tz">tz</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration <strong>tz</strong>()</code></p><p>Retrieves the timezone associated with the date stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code> - the timezone associated with the date stored</p><hr><h2><a name="method_year">year</a></h2><p><code>public int <strong>year</strong>()</code></p><p>Retrieves the actual year as an integer</p><h3>Returns</h3><p><code>int</code> - The actual year as an integer</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYearMonth.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYearMonth.html
deleted file mode 100644
index a49d801..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYearMonth.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSGYearMonth</h2><br><hr><pre>public class <strong>XSGYearMonth</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType</pre>A representation of the YearMonth datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSGYearMonth">XSGYearMonth</a></strong>(java.util.Calendar cal
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration tz)</code></td></tr><tr><td><code><strong><a href="#con_XSGYearMonth">XSGYearMonth</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Calendar</code></td><td width="" align="left"><code><a href="#method_calendar">calendar</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the Calendar representation of the year and month stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable gYearMonth in
- the supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_eq">eq</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Equality comparison between this and the supplied representation. This
- representation must be of type XSGYearMonth</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_month">month</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the actual month as an integer</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYearMonth</code></td><td width="" align="left"><code><a href="#method_parse_gYearMonth">parse_gYearMonth</a>(java.lang.String str)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Parses a String representation of a year and month and constructs a new
- XSGYearMonth representation of it.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the stored year and month</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_timezoned">timezoned</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Check for whether a timezone was specified at creation</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code></td><td width="" align="left"><code><a href="#method_tz">tz</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the timezone associated with the date stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_year">year</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the actual year as an integer</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSGYearMonth">XSGYearMonth</a></h2><p><code>public <strong>XSGYearMonth</strong>(java.util.Calendar cal
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration tz)</code></p><p>Initialises a representation of the supplied year and month</p><hr><h2><a name="con_XSGYearMonth">XSGYearMonth</a></h2><p><code>public <strong>XSGYearMonth</strong>()</code></p><p>Initialises a representation of the current year and month</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_calendar">calendar</a></h2><p><code>public java.util.Calendar <strong>calendar</strong>()</code></p><p>Retrieves the Calendar representation of the year and month stored</p><h3>Returns</h3><p><code>java.util.Calendar</code> - Calendar representation of the year and month stored</p><hr><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable gYearMonth in
- the supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which the gYearMonth is to be             extracted</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the supplied year and month</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_eq">eq</a></h2><p><code>public boolean <strong>eq</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Equality comparison between this and the supplied representation. This
- representation must be of type XSGYearMonth</p><h3>Parameters</h3><p><code>arg</code> - The XSGYearMonth to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if the two representations are of the same year and month.          False otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_month">month</a></h2><p><code>public int <strong>month</strong>()</code></p><p>Retrieves the actual month as an integer</p><h3>Returns</h3><p><code>int</code> - The actual month as an integer</p><hr><h2><a name="method_parse_gYearMonth">parse_gYearMonth</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYearMonth <strong>parse_gYearMonth</strong>(java.lang.String str)</code></p><p>Parses a String representation of a year and month and constructs a new
- XSGYearMonth representation of it.</p><h3>Parameters</h3><p><code>str</code> - The String representation of the year and month (and optional             timezone)</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYearMonth</code> - The XSGYearMonth representation of the supplied date</p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:gYearMonth" which is the datatype's full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the stored year and month</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the stored year and month</p><hr><h2><a name="method_timezoned">timezoned</a></h2><p><code>public boolean <strong>timezoned</strong>()</code></p><p>Check for whether a timezone was specified at creation</p><h3>Returns</h3><p><code>boolean</code> - True if a timezone was specified. False otherwise</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "gYearMonth" which is the datatype's name</p><hr><h2><a name="method_tz">tz</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration <strong>tz</strong>()</code></p><p>Retrieves the timezone associated with the date stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code> - the timezone associated with the date stored</p><hr><h2><a name="method_year">year</a></h2><p><code>public int <strong>year</strong>()</code></p><p>Retrieves the actual year as an integer</p><h3>Returns</h3><p><code>int</code> - The actual year as an integer</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSHexBinary.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSHexBinary.html
deleted file mode 100644
index b5e752d..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSHexBinary.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSHexBinary</h2><br><hr><pre>public class <strong>XSHexBinary</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType</pre>A representation of the xs:hexBinary datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSHexBinary">XSHexBinary</a></strong>(java.lang.String x)</code></td></tr><tr><td><code><strong><a href="#con_XSHexBinary">XSHexBinary</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the hexBinary value</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_eq">eq</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Equality comparison between this and the supplied representation which
- must be of type hexBinary</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the base64Binary stored. This method is
- functionally identical to value()</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_value">value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the hexBinary stored. This method is
- functionally identical to string_value()</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSHexBinary">XSHexBinary</a></h2><p><code>public <strong>XSHexBinary</strong>(java.lang.String x)</code></p><p>Initialises using the supplied String</p><hr><h2><a name="con_XSHexBinary">XSHexBinary</a></h2><p><code>public <strong>XSHexBinary</strong>()</code></p><p>Initialises to null</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the hexBinary value</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which to construct hexBinary value</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence representing hexBinary value</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_eq">eq</a></h2><p><code>public boolean <strong>eq</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Equality comparison between this and the supplied representation which
- must be of type hexBinary</p><h3>Parameters</h3><p><code>arg</code> - The representation to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if the two representation are same. False otherwise.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:hexBinary" which is the datatype's full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the base64Binary stored. This method is
- functionally identical to value()</p><h3>Returns</h3><p><code>java.lang.String</code> - The hexBinary stored</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "hexBinary" which is the datatype's name</p><hr><h2><a name="method_value">value</a></h2><p><code>public java.lang.String <strong>value</strong>()</code></p><p>Retrieves a String representation of the hexBinary stored. This method is
- functionally identical to string_value()</p><h3>Returns</h3><p><code>java.lang.String</code> - The hexBinary stored</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSID.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSID.html
deleted file mode 100644
index d54a154..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSID.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSID</h2><br><hr><pre>public class <strong>XSID</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSID">XSID</a></strong>(java.lang.String x)</code></td></tr><tr><td><code><strong><a href="#con_XSID">XSID</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSID">XSID</a></h2><p><code>public <strong>XSID</strong>(java.lang.String x)</code></p><p></p><hr><h2><a name="con_XSID">XSID</a></h2><p><code>public <strong>XSID</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p></p><h3>Parameters</h3><p><code>arg</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSIDREF.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSIDREF.html
deleted file mode 100644
index 9c28726..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSIDREF.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSIDREF</h2><br><hr><pre>public class <strong>XSIDREF</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSIDREF">XSIDREF</a></strong>(java.lang.String x)</code></td></tr><tr><td><code><strong><a href="#con_XSIDREF">XSIDREF</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSIDREF">XSIDREF</a></h2><p><code>public <strong>XSIDREF</strong>(java.lang.String x)</code></p><p></p><hr><h2><a name="con_XSIDREF">XSIDREF</a></h2><p><code>public <strong>XSIDREF</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p></p><h3>Parameters</h3><p><code>arg</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSInt.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSInt.html
deleted file mode 100644
index 57846be..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSInt.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSInt</h2><br><hr><pre>public class <strong>XSInt</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSLong</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSInt">XSInt</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XSInt">XSInt</a></strong>(java.math.BigInteger x)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable 'int' in the
- supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSInt">XSInt</a></h2><p><code>public <strong>XSInt</strong>()</code></p><p>Initializes a representation of 0</p><hr><h2><a name="con_XSInt">XSInt</a></h2><p><code>public <strong>XSInt</strong>(java.math.BigInteger x)</code></p><p>Initializes a representation of the supplied int value</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable 'int' in the
- supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which the int is to be extracted</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the 'int' supplied</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:int" which is the datatype's full pathname</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "int" which is the datatype's name</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger.html
deleted file mode 100644
index 11de7f3..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSInteger</h2><br><hr><pre>public class <strong>XSInteger</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal</pre>A representation of the Integer datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSInteger">XSInteger</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XSInteger">XSInteger</a></strong>(java.math.BigInteger x)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code></td><td width="" align="left"><code><a href="#method_abs">abs</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Absolutes the integer stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable integer in the
- supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_convertArg">convertArg</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_div">div</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_gt">gt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.math.BigInteger</code></td><td width="" align="left"><code><a href="#method_int_value">int_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the actual integer value stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_lt">lt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_minus">minus</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical subtraction operator between this XSInteger and the supplied
- ResultSequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_mod">mod</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical modulus operator between this XSInteger and the supplied
- ResultSequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_plus">plus</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical addition operator between this XSInteger and the supplied
- ResultSequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_int">set_int</a>(java.math.BigInteger x)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Sets the integer stored to that supplied</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the integer stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_times">times</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical multiplication operator between this XSInteger and the
- supplied ResultSequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_unary_minus">unary_minus</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Negates the integer stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_zero">zero</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Check whether the integer represented is 0</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSInteger">XSInteger</a></h2><p><code>public <strong>XSInteger</strong>()</code></p><p>Initializes a representation of 0</p><hr><h2><a name="con_XSInteger">XSInteger</a></h2><p><code>public <strong>XSInteger</strong>(java.math.BigInteger x)</code></p><p>Initializes a representation of the supplied integer</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_abs">abs</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType <strong>abs</strong>()</code></p><p>Absolutes the integer stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType</code> - New XSInteger representing the absolute of the integer stored</p><hr><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable integer in the
- supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which the integer is to be extracted</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the integer supplied</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_convertArg">convertArg</a></h2><p><code>protected org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>convertArg</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p></p><h3>Parameters</h3><p><code>arg</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_div">div</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>div</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p></p><h3>Parameters</h3><p><code>arg</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_gt">gt</a></h2><p><code>public boolean <strong>gt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p></p><h3>Parameters</h3><p><code>arg</code></p><h3>Returns</h3><p><code>boolean</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_int_value">int_value</a></h2><p><code>public java.math.BigInteger <strong>int_value</strong>()</code></p><p>Retrieves the actual integer value stored</p><h3>Returns</h3><p><code>java.math.BigInteger</code> - The actual integer value stored</p><hr><h2><a name="method_lt">lt</a></h2><p><code>public boolean <strong>lt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p></p><h3>Parameters</h3><p><code>arg</code></p><h3>Returns</h3><p><code>boolean</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_minus">minus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>minus</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical subtraction operator between this XSInteger and the supplied
- ResultSequence.</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence to perform a subtraction with</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSInteger consisting of the result of the mathematical          subtraction.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_mod">mod</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>mod</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical modulus operator between this XSInteger and the supplied
- ResultSequence.</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence to perform a modulus with</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSInteger consisting of the result of the mathematical modulus.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_plus">plus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>plus</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical addition operator between this XSInteger and the supplied
- ResultSequence.</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence to perform an addition with</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSInteger consisting of the result of the mathematical          addition.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_set_int">set_int</a></h2><p><code>public void <strong>set_int</strong>(java.math.BigInteger x)</code></p><p>Sets the integer stored to that supplied</p><h3>Parameters</h3><p><code>x</code> - Integer to be stored</p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:integer" which is the datatype's full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the integer stored</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the integer stored</p><hr><h2><a name="method_times">times</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>times</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical multiplication operator between this XSInteger and the
- supplied ResultSequence.</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence to perform a multiplication with</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSInteger consisting of the result of the mathematical          multiplication.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "integer" which is the datatype's name</p><hr><h2><a name="method_unary_minus">unary_minus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>unary_minus</strong>()</code></p><p>Negates the integer stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New XSInteger representing the negation of the integer stored</p><hr><h2><a name="method_zero">zero</a></h2><p><code>public boolean <strong>zero</strong>()</code></p><p>Check whether the integer represented is 0</p><h3>Returns</h3><p><code>boolean</code> - True is the integer represented is 0. False otherwise</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSLong.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSLong.html
deleted file mode 100644
index 0914d53..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSLong.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSLong</h2><br><hr><pre>public class <strong>XSLong</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLong">XSLong</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XSLong">XSLong</a></strong>(java.math.BigInteger x)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable long in the
- supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSLong">XSLong</a></h2><p><code>public <strong>XSLong</strong>()</code></p><p>Initializes a representation of 0</p><hr><h2><a name="con_XSLong">XSLong</a></h2><p><code>public <strong>XSLong</strong>(java.math.BigInteger x)</code></p><p>Initializes a representation of the supplied long value</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable long in the
- supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which the long is to be extracted</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the 'long' supplied</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:long" which is the datatype's full pathname</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "long" which is the datatype's name</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName.html
deleted file mode 100644
index f4e69e9..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSNCName</h2><br><hr><pre>public class <strong>XSNCName</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSString</pre>A representation of the NCName datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSNCName">XSNCName</a></strong>(java.lang.String x)</code></td></tr><tr><td><code><strong><a href="#con_XSNCName">XSNCName</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable NCName within
- the supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSNCName">XSNCName</a></h2><p><code>public <strong>XSNCName</strong>(java.lang.String x)</code></p><p>Initialises using the supplied String</p><hr><h2><a name="con_XSNCName">XSNCName</a></h2><p><code>public <strong>XSNCName</strong>()</code></p><p>Initialises to null</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable NCName within
- the supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which to extract the NCName</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the NCName supplied</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:NCName" which is the datatype's full pathname</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "NCName" which is the datatype's name</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNegativeInteger.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNegativeInteger.html
deleted file mode 100644
index bf58344..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNegativeInteger.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSNegativeInteger</h2><br><hr><pre>public class <strong>XSNegativeInteger</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonPositiveInteger</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSNegativeInteger">XSNegativeInteger</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XSNegativeInteger">XSNegativeInteger</a></strong>(java.math.BigInteger x)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable negativeInteger
- in the supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSNegativeInteger">XSNegativeInteger</a></h2><p><code>public <strong>XSNegativeInteger</strong>()</code></p><p>Initializes a representation of -1</p><hr><h2><a name="con_XSNegativeInteger">XSNegativeInteger</a></h2><p><code>public <strong>XSNegativeInteger</strong>(java.math.BigInteger x)</code></p><p>Initializes a representation of the supplied negativeInteger value</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable negativeInteger
- in the supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which the negativeInteger is to be extracted</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the 'negativeInteger' supplied</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:negativeInteger" which is the datatype's full pathname</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "negativeInteger" which is the datatype's name</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonNegativeInteger.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonNegativeInteger.html
deleted file mode 100644
index 006748f..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonNegativeInteger.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSNonNegativeInteger</h2><br><hr><pre>public class <strong>XSNonNegativeInteger</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSNonNegativeInteger">XSNonNegativeInteger</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XSNonNegativeInteger">XSNonNegativeInteger</a></strong>(java.math.BigInteger x)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable nonNegativeInteger
- in the supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSNonNegativeInteger">XSNonNegativeInteger</a></h2><p><code>public <strong>XSNonNegativeInteger</strong>()</code></p><p>Initializes a representation of 0</p><hr><h2><a name="con_XSNonNegativeInteger">XSNonNegativeInteger</a></h2><p><code>public <strong>XSNonNegativeInteger</strong>(java.math.BigInteger x)</code></p><p>Initializes a representation of the supplied nonNegativeInteger value</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable nonNegativeInteger
- in the supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which the nonNegativeInteger is to be extracted</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the 'nonNegativeInteger' supplied</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:nonNegativeInteger" which is the datatype's full pathname</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "nonNegativeInteger" which is the datatype's name</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonPositiveInteger.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonPositiveInteger.html
deleted file mode 100644
index 05919ce..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonPositiveInteger.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSNonPositiveInteger</h2><br><hr><pre>public class <strong>XSNonPositiveInteger</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSNonPositiveInteger">XSNonPositiveInteger</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XSNonPositiveInteger">XSNonPositiveInteger</a></strong>(java.math.BigInteger x)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable nonPositiveInteger
- in the supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSNonPositiveInteger">XSNonPositiveInteger</a></h2><p><code>public <strong>XSNonPositiveInteger</strong>()</code></p><p>Initializes a representation of 0</p><hr><h2><a name="con_XSNonPositiveInteger">XSNonPositiveInteger</a></h2><p><code>public <strong>XSNonPositiveInteger</strong>(java.math.BigInteger x)</code></p><p>Initializes a representation of the supplied nonPositiveInteger value</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable nonPositiveInteger
- in the supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which the nonPositiveInteger is to be extracted</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the 'nonPositiveInteger' supplied</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:nonPositiveInteger" which is the datatype's full pathname</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "nonPositiveInteger" which is the datatype's name</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNotation.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNotation.html
deleted file mode 100644
index a1faaa0..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNotation.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSNotation</h2><br><hr><pre>public class <strong>XSNotation</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSNotation">XSNotation</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSNotation">XSNotation</a></h2><p><code>public <strong>XSNotation</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p></p><h3>Parameters</h3><p><code>arg</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSPositiveInteger.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSPositiveInteger.html
deleted file mode 100644
index 393829c..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSPositiveInteger.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSPositiveInteger</h2><br><hr><pre>public class <strong>XSPositiveInteger</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonNegativeInteger</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSPositiveInteger">XSPositiveInteger</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XSPositiveInteger">XSPositiveInteger</a></strong>(java.math.BigInteger x)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable positiveInteger
- in the supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSPositiveInteger">XSPositiveInteger</a></h2><p><code>public <strong>XSPositiveInteger</strong>()</code></p><p>Initializes a representation of 1</p><hr><h2><a name="con_XSPositiveInteger">XSPositiveInteger</a></h2><p><code>public <strong>XSPositiveInteger</strong>(java.math.BigInteger x)</code></p><p>Initializes a representation of the supplied positiveInteger value</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable positiveInteger
- in the supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which the positiveInteger is to be extracted</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the 'positiveInteger' supplied</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:positiveInteger" which is the datatype's full pathname</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "positiveInteger" which is the datatype's name</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSShort.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSShort.html
deleted file mode 100644
index 84881df..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSShort.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSShort</h2><br><hr><pre>public class <strong>XSShort</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSInt</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSShort">XSShort</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XSShort">XSShort</a></strong>(java.math.BigInteger x)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable 'short' in the
- supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSShort">XSShort</a></h2><p><code>public <strong>XSShort</strong>()</code></p><p>Initializes a representation of 0</p><hr><h2><a name="con_XSShort">XSShort</a></h2><p><code>public <strong>XSShort</strong>(java.math.BigInteger x)</code></p><p>Initializes a representation of the supplied short value</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable 'short' in the
- supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which the short is to be extracted</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the 'short' supplied</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:short" which is the datatype's full pathname</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "short" which is the datatype's name</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSString.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSString.html
deleted file mode 100644
index 860edbf..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSString.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSString</h2><br><hr><pre>public class <strong>XSString</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType</pre>A representation of the String datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSString">XSString</a></strong>(java.lang.String x)</code></td></tr><tr><td><code><strong><a href="#con_XSString">XSString</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable String in the
- supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_eq">eq</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Equality comparison between this and the supplied representation which
- must be of type String</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_gt">gt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Comparison between this and the supplied representation which must be of
- type String</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_lt">lt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Comparison between this and the supplied representation which must be of
- type String</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the string stored. This method is
- functionally identical to value()</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_value">value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the string stored. This method is
- functionally identical to string_value()</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSString">XSString</a></h2><p><code>public <strong>XSString</strong>(java.lang.String x)</code></p><p>Initialises using the supplied String</p><hr><h2><a name="con_XSString">XSString</a></h2><p><code>public <strong>XSString</strong>()</code></p><p>Initialises to null</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable String in the
- supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which to extract the String</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the supplied String</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_eq">eq</a></h2><p><code>public boolean <strong>eq</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Equality comparison between this and the supplied representation which
- must be of type String</p><h3>Parameters</h3><p><code>arg</code> - The representation to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if the two representation are of the same String. False          otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_gt">gt</a></h2><p><code>public boolean <strong>gt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Comparison between this and the supplied representation which must be of
- type String</p><h3>Parameters</h3><p><code>arg</code> - The representation to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if this String is lexographically greater than that          supplied. False otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_lt">lt</a></h2><p><code>public boolean <strong>lt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Comparison between this and the supplied representation which must be of
- type String</p><h3>Parameters</h3><p><code>arg</code> - The representation to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if this String is lexographically less than that supplied.          False otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:string" which is the datatype's full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the string stored. This method is
- functionally identical to value()</p><h3>Returns</h3><p><code>java.lang.String</code> - The String stored</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "string" which is the datatype's name</p><hr><h2><a name="method_value">value</a></h2><p><code>public java.lang.String <strong>value</strong>()</code></p><p>Retrieves a String representation of the string stored. This method is
- functionally identical to string_value()</p><h3>Returns</h3><p><code>java.lang.String</code> - The String stored</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSTime.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSTime.html
deleted file mode 100644
index 26c9586..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSTime.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSTime</h2><br><hr><pre>public class <strong>XSTime</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType</pre>A representation of the Time datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSTime">XSTime</a></strong>(java.util.Calendar cal
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration tz)</code></td></tr><tr><td><code><strong><a href="#con_XSTime">XSTime</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Calendar</code></td><td width="" align="left"><code><a href="#method_calendar">calendar</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a Calendar representation of time stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_clone">clone</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new copy of the time (and timezone) stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable time from the
- supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_eq">eq</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Equality comparison between this and the supplied XSTime representation</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_gt">gt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Comparison between this and the supplied XSTime representation</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_hour">hour</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the hour stored as an integer</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_lt">lt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Comparison between this and the supplied XSTime representation</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_minus">minus</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical subtraction between this time stored and the supplied
- representation. This supplied representation must be of either type
- XSTime (in which case the result is the duration of time between these
- two times) or a XDTDayTimeDuration (in which case the result is the time
- when this duration is subtracted from the time stored).</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_minute">minute</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the minute stored as an integer</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.internal.types.XSTime</code></td><td width="" align="left"><code><a href="#method_parse_time">parse_time</a>(java.lang.String str)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new XSTime representing the String represented supplied time</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_plus">plus</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical addition between this time stored and the supplied time
- duration.</td></tr><tr valign="top"><td width="20%" align="right"><code>public double</code></td><td width="" align="left"><code><a href="#method_second">second</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the seconds stored as an integer</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the time stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_timezoned">timezoned</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Check for whether the time stored has a timezone associated with it</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code></td><td width="" align="left"><code><a href="#method_tz">tz</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the timezone associated with the time stored as a duration of
- time</td></tr><tr valign="top"><td width="20%" align="right"><code>public double</code></td><td width="" align="left"><code><a href="#method_value">value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the time in milliseconds since the epoch</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSTime">XSTime</a></h2><p><code>public <strong>XSTime</strong>(java.util.Calendar cal
-         ,
-      org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration tz)</code></p><p>Initialises to the supplied time and timezone</p><hr><h2><a name="con_XSTime">XSTime</a></h2><p><code>public <strong>XSTime</strong>()</code></p><p>Initialises to the current time</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_calendar">calendar</a></h2><p><code>public java.util.Calendar <strong>calendar</strong>()</code></p><p>Retrieves a Calendar representation of time stored</p><h3>Returns</h3><p><code>java.util.Calendar</code> - Calendar representation of the time stored</p><hr><h2><a name="method_clone">clone</a></h2><p><code>public java.lang.Object <strong>clone</strong>()</code></p><p>Creates a new copy of the time (and timezone) stored</p><h3>Returns</h3><p><code>java.lang.Object</code> - New XSTime representing the copy of the time and timezone</p><h3>Throws:</h3><p><code>java.lang.CloneNotSupportedException</code></p><hr><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable time from the
- supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which to extract the time</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the supplied time</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_eq">eq</a></h2><p><code>public boolean <strong>eq</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Equality comparison between this and the supplied XSTime representation</p><h3>Parameters</h3><p><code>arg</code> - The XSTime to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if both XSTime's represent the same time. False otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_gt">gt</a></h2><p><code>public boolean <strong>gt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Comparison between this and the supplied XSTime representation</p><h3>Parameters</h3><p><code>arg</code> - The XSTime to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if the supplied time represnts a point in time before that          represented by the time stored. False otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_hour">hour</a></h2><p><code>public int <strong>hour</strong>()</code></p><p>Retrieves the hour stored as an integer</p><h3>Returns</h3><p><code>int</code> - The hour stored</p><hr><h2><a name="method_lt">lt</a></h2><p><code>public boolean <strong>lt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Comparison between this and the supplied XSTime representation</p><h3>Parameters</h3><p><code>arg</code> - The XSTime to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if the supplied time represnts a point in time after that          represented by the time stored. False otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_minus">minus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>minus</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical subtraction between this time stored and the supplied
- representation. This supplied representation must be of either type
- XSTime (in which case the result is the duration of time between these
- two times) or a XDTDayTimeDuration (in which case the result is the time
- when this duration is subtracted from the time stored).</p><h3>Parameters</h3><p><code>arg</code> - The representation to subtract (either XSTim or             XDTDayTimeDuration)</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A ResultSequence representing the result of the subtraction</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_minute">minute</a></h2><p><code>public int <strong>minute</strong>()</code></p><p>Retrieves the minute stored as an integer</p><h3>Returns</h3><p><code>int</code> - The minute stored</p><hr><h2><a name="method_parse_time">parse_time</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSTime <strong>parse_time</strong>(java.lang.String str)</code></p><p>Creates a new XSTime representing the String represented supplied time</p><h3>Parameters</h3><p><code>str</code> - String represented time and timezone to be stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSTime</code> - New XSTime representing the supplied time</p><hr><h2><a name="method_plus">plus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>plus</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical addition between this time stored and the supplied time
- duration.</p><h3>Parameters</h3><p><code>arg</code> - A XDTDayTimeDuration representation of the duration of time to             add</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - A XSTime representing the result of this addition.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_second">second</a></h2><p><code>public double <strong>second</strong>()</code></p><p>Retrieves the seconds stored as an integer</p><h3>Returns</h3><p><code>double</code> - The second stored</p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:time" which is the datatype's full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the time stored</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the time stored</p><hr><h2><a name="method_timezoned">timezoned</a></h2><p><code>public boolean <strong>timezoned</strong>()</code></p><p>Check for whether the time stored has a timezone associated with it</p><h3>Returns</h3><p><code>boolean</code> - True if the time has a timezone associated. False otherwise</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "time" which is the datatype's name</p><hr><h2><a name="method_tz">tz</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration <strong>tz</strong>()</code></p><p>Retrieves the timezone associated with the time stored as a duration of
- time</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code> - The duration of time between the time stored and the actual time          after the timezone is taken into account</p><hr><h2><a name="method_value">value</a></h2><p><code>public double <strong>value</strong>()</code></p><p>Retrieves the time in milliseconds since the epoch</p><h3>Returns</h3><p><code>double</code> - time stored in milliseconds since the epoch</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedByte.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedByte.html
deleted file mode 100644
index 748aea1..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedByte.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSUnsignedByte</h2><br><hr><pre>public class <strong>XSUnsignedByte</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedShort</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSUnsignedByte">XSUnsignedByte</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XSUnsignedByte">XSUnsignedByte</a></strong>(java.math.BigInteger x)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable unsignedByte
- in the supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSUnsignedByte">XSUnsignedByte</a></h2><p><code>public <strong>XSUnsignedByte</strong>()</code></p><p>Initializes a representation of 0</p><hr><h2><a name="con_XSUnsignedByte">XSUnsignedByte</a></h2><p><code>public <strong>XSUnsignedByte</strong>(java.math.BigInteger x)</code></p><p>Initializes a representation of the supplied unsignedByte value</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable unsignedByte
- in the supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which the unsignedByte is to be extracted</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the 'unsignedByte' supplied</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:unsignedByte" which is the datatype's full pathname</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "unsignedByte" which is the datatype's name</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedInt.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedInt.html
deleted file mode 100644
index 82b7220..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedInt.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSUnsignedInt</h2><br><hr><pre>public class <strong>XSUnsignedInt</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedLong</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSUnsignedInt">XSUnsignedInt</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XSUnsignedInt">XSUnsignedInt</a></strong>(java.math.BigInteger x)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable unsignedInt
- in the supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSUnsignedInt">XSUnsignedInt</a></h2><p><code>public <strong>XSUnsignedInt</strong>()</code></p><p>Initializes a representation of 0</p><hr><h2><a name="con_XSUnsignedInt">XSUnsignedInt</a></h2><p><code>public <strong>XSUnsignedInt</strong>(java.math.BigInteger x)</code></p><p>Initializes a representation of the supplied unsignedInt value</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable unsignedInt
- in the supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which the unsignedInt is to be extracted</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the 'unsignedInt' supplied</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:unsignedInt" which is the datatype's full pathname</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "unsignedInt" which is the datatype's name</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedLong.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedLong.html
deleted file mode 100644
index 1c8a3aa..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedLong.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSUnsignedLong</h2><br><hr><pre>public class <strong>XSUnsignedLong</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonNegativeInteger</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSUnsignedLong">XSUnsignedLong</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XSUnsignedLong">XSUnsignedLong</a></strong>(java.math.BigInteger x)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable unsignedLong
- in the supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSUnsignedLong">XSUnsignedLong</a></h2><p><code>public <strong>XSUnsignedLong</strong>()</code></p><p>Initializes a representation of 0</p><hr><h2><a name="con_XSUnsignedLong">XSUnsignedLong</a></h2><p><code>public <strong>XSUnsignedLong</strong>(java.math.BigInteger x)</code></p><p>Initializes a representation of the supplied unsignedLong value</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable unsignedLong
- in the supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which the unsignedLong is to be extracted</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the 'unsignedLong' supplied</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:unsignedLong" which is the datatype's full pathname</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "unsignedLong" which is the datatype's name</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedShort.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedShort.html
deleted file mode 100644
index 66b9a8d..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedShort.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSUnsignedShort</h2><br><hr><pre>public class <strong>XSUnsignedShort</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedInt</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSUnsignedShort">XSUnsignedShort</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XSUnsignedShort">XSUnsignedShort</a></strong>(java.math.BigInteger x)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable unsignedShort
- in the supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's name</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSUnsignedShort">XSUnsignedShort</a></h2><p><code>public <strong>XSUnsignedShort</strong>()</code></p><p>Initializes a representation of 0</p><hr><h2><a name="con_XSUnsignedShort">XSUnsignedShort</a></h2><p><code>public <strong>XSUnsignedShort</strong>(java.math.BigInteger x)</code></p><p>Initializes a representation of the supplied unsignedShort value</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable unsignedShort
- in the supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which the unsignedShort is to be extracted</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the 'unsignedShort' supplied</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:unsignedShort" which is the datatype's full pathname</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "unsignedShort" which is the datatype's name</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUntypedAtomic.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUntypedAtomic.html
deleted file mode 100644
index 1cb196f..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUntypedAtomic.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSUntypedAtomic</h2><br><hr><pre>public class <strong>XSUntypedAtomic</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType</pre>A representation of the UntypedAtomic datatype which is used to represent
- untyped atomic nodes.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSUntypedAtomic">XSUntypedAtomic</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XSUntypedAtomic">XSUntypedAtomic</a></strong>(java.lang.String x)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the value of this untyped atomic
- node</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSUntypedAtomic">XSUntypedAtomic</a></h2><p><code>public <strong>XSUntypedAtomic</strong>()</code></p><p></p><hr><h2><a name="con_XSUntypedAtomic">XSUntypedAtomic</a></h2><p><code>public <strong>XSUntypedAtomic</strong>(java.lang.String x)</code></p><p>Initialises using the supplied String</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p></p><h3>Parameters</h3><p><code>arg</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:untypedAtomic" which is the datatype's full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the value of this untyped atomic
- node</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the value of this untyped atomic node</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSYearMonthDuration.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSYearMonthDuration.html
deleted file mode 100644
index 299178a..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSYearMonthDuration.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
-               Class XSYearMonthDuration</h2><br><hr><pre>public class <strong>XSYearMonthDuration</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</pre>A representation of the YearMonthDuration datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSYearMonthDuration">XSYearMonthDuration</a></strong>(int year
-         ,
-      int month
-         ,
-      boolean negative)</code></td></tr><tr><td><code><strong><a href="#con_XSYearMonthDuration">XSYearMonthDuration</a></strong>(int months)</code></td></tr><tr><td><code><strong><a href="#con_XSYearMonthDuration">XSYearMonthDuration</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new ResultSequence consisting of the extractable time duration
- from the supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_div">div</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical division between this duration stored and the supplied
- duration of time (of type XSYearMonthDuration)</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_eq">eq</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Equality comparison between this and the supplied duration of time.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_gt">gt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Comparison between this and the supplied duration of time.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_lt">lt</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Comparison between this and the supplied duration of time.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_minus">minus</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical subtraction between this duration stored and the supplied
- duration of time (of type XSYearMonthDuration)</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_monthValue">monthValue</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the duration of time stored as the number of months within it</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_negative">negative</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves whether this duration represents a backward passage through
- time</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code></td><td width="" align="left"><code><a href="#method_parseYMDuration">parseYMDuration</a>(java.lang.String str)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Creates a new XSYearMonthDuration by parsing the supplied String
- represented duration of time</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_plus">plus</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical addition between this duration stored and the supplied
- duration of time (of type XSYearMonthDuration)</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves a String representation of the duration of time stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_times">times</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Mathematical multiplication between this duration stored and the supplied
- duration of time (of type XSYearMonthDuration)</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
-               &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrives the datatype's name</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Constructor Detail
-               </h2></td></tr></table><h2><a name="con_XSYearMonthDuration">XSYearMonthDuration</a></h2><p><code>public <strong>XSYearMonthDuration</strong>(int year
-         ,
-      int month
-         ,
-      boolean negative)</code></p><p>Initialises using the supplied parameters. If the number of months
- supplied is more than 12, the number of years is adjusted accordingly.</p><hr><h2><a name="con_XSYearMonthDuration">XSYearMonthDuration</a></h2><p><code>public <strong>XSYearMonthDuration</strong>(int months)</code></p><p>Initialises to the given number of months</p><hr><h2><a name="con_XSYearMonthDuration">XSYearMonthDuration</a></h2><p><code>public <strong>XSYearMonthDuration</strong>()</code></p><p>Initialises to a duration of no time (0years and 0months)</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
-                  Methods Detail
-               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable time duration
- from the supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which to extract</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the time duration extracted</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_div">div</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>div</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical division between this duration stored and the supplied
- duration of time (of type XSYearMonthDuration)</p><h3>Parameters</h3><p><code>arg</code> - The duration of time to divide by</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New XSYearMonthDuration representing the resulting duration          after the division</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_eq">eq</a></h2><p><code>public boolean <strong>eq</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Equality comparison between this and the supplied duration of time.</p><h3>Parameters</h3><p><code>arg</code> - The duration of time to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if they both represent the duration of time. False otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_gt">gt</a></h2><p><code>public boolean <strong>gt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Comparison between this and the supplied duration of time.</p><h3>Parameters</h3><p><code>arg</code> - The duration of time to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if the supplied time represents a smaller duration than that          stored. False otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_lt">lt</a></h2><p><code>public boolean <strong>lt</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg)</code></p><p>Comparison between this and the supplied duration of time.</p><h3>Parameters</h3><p><code>arg</code> - The duration of time to compare with</p><h3>Returns</h3><p><code>boolean</code> - True if the supplied time represents a larger duration than that          stored. False otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_minus">minus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>minus</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical subtraction between this duration stored and the supplied
- duration of time (of type XSYearMonthDuration)</p><h3>Parameters</h3><p><code>arg</code> - The duration of time to subtract</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New XSYearMonthDuration representing the resulting duration          after the subtraction</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_monthValue">monthValue</a></h2><p><code>public int <strong>monthValue</strong>()</code></p><p>Retrieves the duration of time stored as the number of months within it</p><h3>Returns</h3><p><code>int</code> - Number of months making up this duration of time</p><hr><h2><a name="method_negative">negative</a></h2><p><code>public boolean <strong>negative</strong>()</code></p><p>Retrieves whether this duration represents a backward passage through
- time</p><h3>Returns</h3><p><code>boolean</code> - True if this duration represents a backward passage through time.          False otherwise</p><hr><h2><a name="method_parseYMDuration">parseYMDuration</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration <strong>parseYMDuration</strong>(java.lang.String str)</code></p><p>Creates a new XSYearMonthDuration by parsing the supplied String
- represented duration of time</p><h3>Parameters</h3><p><code>str</code> - String represented duration of time</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code> - New XSYearMonthDuration representing the duration of time          supplied</p><hr><h2><a name="method_plus">plus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>plus</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical addition between this duration stored and the supplied
- duration of time (of type XSYearMonthDuration)</p><h3>Parameters</h3><p><code>arg</code> - The duration of time to add</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New XSYearMonthDuration representing the resulting duration          after the addition</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:yearMonthDuration" which is the datatype's full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the duration of time stored</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the duration of time stored</p><hr><h2><a name="method_times">times</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>times</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Mathematical multiplication between this duration stored and the supplied
- duration of time (of type XSYearMonthDuration)</p><h3>Parameters</h3><p><code>arg</code> - The duration of time to multiply by</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New XSYearMonthDuration representing the resulting duration          after the multiplication</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrives the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "yearMonthDuration" which is the datatype's name</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/jel.xml b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/jel.xml
deleted file mode 100644
index e74b09b..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/jel.xml
+++ /dev/null
@@ -1,9848 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<jel>
-	<admin creation="Thu Aug 27 01:16:13 GMT 2009" xsdversion="1.0.0" version="1.0.0" />
-	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.DOMBuilder" type="DOMBuilder">
-		<implements>
-			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.DOMLoader" type="DOMLoader" />
-		</implements>
-		<comment>
-			<description>The DOM builder loads an DOM from an InputStream. The loading is always namespace aware.</description>
-		</comment>
-		<fields>
-			<field visibility="package-private" name="_validating" fulltype="boolean" type="boolean" />
-			<field visibility="package-private" name="_namespace_aware" fulltype="boolean" type="boolean" />
-		</fields>
-		<methods>
-			<constructor visibility="public" name="DOMBuilder">
-				<comment>
-					<description>Constructor for DOM builder.</description>
-				</comment>
-			</constructor>
-			<method visibility="public" name="load" returncomment="The loaded document." fulltype="org.w3c.dom.Document" type="Document">
-				<comment>
-					<description>Loads The XML document.</description>
-					<attribute name="@param">
-						<description>in
-            is the input stream.</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DOMLoaderException
-             DOM loader exception.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>The loaded document.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="in" comment="is the input stream." fulltype="java.io.InputStream" type="InputStream" />
-				</params>
-				<exceptions>
-					<exception comment="DOM loader exception." fulltype="org.eclipse.wst.xml.xpath2.processor.DOMLoaderException" type="DOMLoaderException" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="set_validating" fulltype="void" type="void">
-				<comment>
-					<description>Set validating boolean.</description>
-					<attribute name="@param">
-						<description>x
-            is the value to set the validating boolean to.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="is the value to set the validating boolean to." fulltype="boolean" type="boolean" />
-				</params>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" interface="true" fulltype="org.eclipse.wst.xml.xpath2.processor.DOMLoader" type="DOMLoader">
-		<comment>
-			<description>The DOM loader loads the XML document.</description>
-		</comment>
-		<methods>
-			<method visibility="public" name="load" returncomment="The loaded document. The document is always loaded as namespace-aware" fulltype="org.w3c.dom.Document" type="Document">
-				<comment>
-					<description>The DOM loader loads the XML docuemnt</description>
-					<attribute name="@param">
-						<description>in
-            is the input stream.</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DOMLoaderException
-             DOM loader exception.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>The loaded document. The document is always loaded as namespace-aware</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="in" comment="is the input stream." fulltype="java.io.InputStream" type="InputStream" />
-				</params>
-				<exceptions>
-					<exception comment="DOM loader exception." fulltype="org.eclipse.wst.xml.xpath2.processor.DOMLoaderException" type="DOMLoaderException" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="set_validating" fulltype="void" type="void">
-				<comment>
-					<description>Set validating boolean.</description>
-					<attribute name="@param">
-						<description>val
-            is the validating boolean.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="val" comment="is the validating boolean." fulltype="boolean" type="boolean" />
-				</params>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="XPathException" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" serializable="true" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.XPathException" fulltype="org.eclipse.wst.xml.xpath2.processor.DOMLoaderException" type="DOMLoaderException">
-		<comment>
-			<description>Exception caused by DOM loader.</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="DOMLoaderException">
-				<comment>
-					<description>Constructor for DOM loader exception.</description>
-					<attribute name="@param">
-						<description>reason
-            is the reason for the exception.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="reason" comment="is the reason for the exception." fulltype="java.lang.String" type="String" />
-				</params>
-			</constructor>
-		</methods>
-	</jelclass>
-	<jelclass superclass="DefaultStaticContext" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="DefaultStaticContext" fulltype="org.eclipse.wst.xml.xpath2.processor.DefaultDynamicContext" type="DefaultDynamicContext">
-		<implements>
-			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext" />
-		</implements>
-		<comment>
-			<description>The default implementation of a Dynamic Context.
- 
- Initializes and provides functionality of a dynamic context according to the
- XPath 2.0 specification.</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="DefaultDynamicContext">
-				<comment>
-					<description>Constructor.</description>
-					<attribute name="@param">
-						<description>schema
-            Schema information of document. May be null</description>
-					</attribute>
-					<attribute name="@param">
-						<description>doc
-            Document [root] node of XML source.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="schema" comment="Schema information of document. May be null" fulltype="XSModel" type="XSModel" />
-					<param name="doc" comment="Document [root] node of XML source." fulltype="org.w3c.dom.Document" type="Document" />
-				</params>
-			</constructor>
-			<method visibility="public" name="tz" returncomment="an xs:integer _tz" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
-				<comment>
-					<description>Reads the day from a TimeDuration type</description>
-					<attribute name="@return">
-						<description>an xs:integer _tz</description>
-					</attribute>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="current_date_time" fulltype="java.util.GregorianCalendar" type="GregorianCalendar">
-				<comment>
-					<description>Gets the Current stable date time from the dynamic context.</description>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-					<attribute name="@see">
-						<description>org.eclipse.wst.xml.xpath2.processor.DynamicContext#get_current_time()</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="set_focus" fulltype="void" type="void">
-				<comment>
-					<description>Changes the current focus.</description>
-					<attribute name="@param">
-						<description>f
-            focus to set</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="f" comment="focus to set" fulltype="Focus" type="Focus" />
-				</params>
-			</method>
-			<method visibility="public" name="focus" returncomment="_focus" fulltype="Focus" type="Focus">
-				<comment>
-					<description>Return the focus</description>
-					<attribute name="@return">
-						<description>_focus</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="context_item" returncomment="an AnyType result from _focus.context_item()" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
-				<comment>
-					<description>Retrieve context item that is in focus</description>
-					<attribute name="@return">
-						<description>an AnyType result from _focus.context_item()</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="context_position" returncomment="an integer result from _focus.position()" fulltype="int" type="int">
-				<comment>
-					<description>Retrieve the position of the focus</description>
-					<attribute name="@return">
-						<description>an integer result from _focus.position()</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="last" returncomment="an integer result from _focus.last()" fulltype="int" type="int">
-				<comment>
-					<description>Retrieve the position of the last focus</description>
-					<attribute name="@return">
-						<description>an integer result from _focus.last()</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="get_variable" returncomment="an AnyType result from get_var(name) or return NULL" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
-				<comment>
-					<description>Retrieve the variable name</description>
-					<attribute name="@return">
-						<description>an AnyType result from get_var(name) or return NULL</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
-				</params>
-			</method>
-			<method visibility="public" name="evaluate_function" returncomment="a ResultSequence from funct.evaluate(args)" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<attribute name="@return">
-						<description>a ResultSequence from funct.evaluate(args)</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
-					<param name="args" fulltype="java.util.Collection" type="Collection" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="add_function_library" fulltype="void" type="void">
-				<comment>
-					<description>Adds function definitions.</description>
-					<attribute name="@param">
-						<description>fl
-            Function library to add.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="fl" comment="Function library to add." fulltype="FunctionLibrary" type="FunctionLibrary" />
-				</params>
-			</method>
-			<method visibility="public" name="get_doc" returncomment="a ResultSequence from ResultSequenceFactory.create_new()" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>get document</description>
-					<attribute name="@return">
-						<description>a ResultSequence from ResultSequenceFactory.create_new()</description>
-					</attribute>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="resolved" fulltype="java.net.URI" type="URI" />
-				</params>
-			</method>
-			<method visibility="public" name="resolve_uri" fulltype="java.net.URI" type="URI">
-				<comment>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="uri" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method visibility="public" name="set_variable" fulltype="void" type="void">
-				<comment>
-					<description>Sets the value of a variable.</description>
-					<attribute name="@param">
-						<description>var
-            Variable name.</description>
-					</attribute>
-					<attribute name="@param">
-						<description>val
-            Variable value.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="var" comment="Variable name." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
-					<param name="val" comment="Variable value." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator" type="DefaultEvaluator">
-		<implements>
-			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.Evaluator" type="Evaluator" />
-		</implements>
-		<comment>
-			<description>Default evaluator interface</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="DefaultEvaluator">
-				<comment>
-					<description>set parameters</description>
-					<attribute name="@param">
-						<description>dc
-            is the dynamic context.</description>
-					</attribute>
-					<attribute name="@param">
-						<description>doc
-            is the document.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="dc" comment="is the dynamic context." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext" />
-					<param name="doc" comment="is the document." fulltype="org.w3c.dom.Document" type="Document" />
-				</params>
-			</constructor>
-			<method visibility="public" name="evaluate" returncomment="result sequence." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>evaluate the xpath node</description>
-					<attribute name="@param">
-						<description>node
-            is the xpath node.</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>dynamic
-             error.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>result sequence.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="node" comment="is the xpath node." fulltype="XPathNode" type="XPathNode" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="visit" returncomment="result sequence." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>iterate through xpath expression</description>
-					<attribute name="@param">
-						<description>xp
-            is the xpath.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>result sequence.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="xp" comment="is the xpath." fulltype="org.eclipse.wst.xml.xpath2.processor.ast.XPath" type="XPath" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit for expression</description>
-					<attribute name="@param">
-						<description>fex
-            is the for expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="fex" comment="is the for expression." fulltype="ForExpr" type="ForExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function or null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit quantified expression</description>
-					<attribute name="@param">
-						<description>qex
-            is the quantified expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function or null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="qex" comment="is the quantified expression." fulltype="QuantifiedExpr" type="QuantifiedExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a ifex.then_clause().accept(this)." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit if expression</description>
-					<attribute name="@param">
-						<description>ifex
-            is the if expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a ifex.then_clause().accept(this).</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="ifex" comment="is the if expression." fulltype="IfExpr" type="IfExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit or expression</description>
-					<attribute name="@param">
-						<description>orex
-            is the or expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="orex" comment="is the or expression." fulltype="OrExpr" type="OrExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit and expression</description>
-					<attribute name="@param">
-						<description>andex
-            is the and expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="andex" comment="is the and expression." fulltype="AndExpr" type="AndExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function or null" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit compare expression</description>
-					<attribute name="@param">
-						<description>cmpex
-            is the compare expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function or null</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="cmpex" comment="is the compare expression." fulltype="CmpExpr" type="CmpExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit range expression</description>
-					<attribute name="@param">
-						<description>rex
-            is the range expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="rex" comment="is the range expression." fulltype="RangeExpr" type="RangeExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit and expression</description>
-					<attribute name="@param">
-						<description>addex
-            is the and expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="addex" comment="is the and expression." fulltype="AddExpr" type="AddExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit sub expression</description>
-					<attribute name="@param">
-						<description>subex
-            is the sub expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="subex" comment="is the sub expression." fulltype="SubExpr" type="SubExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit multiply expression</description>
-					<attribute name="@param">
-						<description>mulex
-            is the mul expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="mulex" comment="is the mul expression." fulltype="MulExpr" type="MulExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit division expression</description>
-					<attribute name="@param">
-						<description>mulex
-            is the division expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="mulex" comment="is the division expression." fulltype="DivExpr" type="DivExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit integer division expression</description>
-					<attribute name="@param">
-						<description>mulex
-            is the integer division expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="mulex" comment="is the integer division expression." fulltype="IDivExpr" type="IDivExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit modular expression</description>
-					<attribute name="@param">
-						<description>mulex
-            is the modular expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="mulex" comment="is the modular expression." fulltype="ModExpr" type="ModExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit union expression</description>
-					<attribute name="@param">
-						<description>unex
-            is the union expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="unex" comment="is the union expression." fulltype="UnionExpr" type="UnionExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit pipe expression</description>
-					<attribute name="@param">
-						<description>pipex
-            is the pipe expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="pipex" comment="is the pipe expression." fulltype="PipeExpr" type="PipeExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit intersect expression</description>
-					<attribute name="@param">
-						<description>iexpr
-            is the intersect expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="iexpr" comment="is the intersect expression." fulltype="IntersectExpr" type="IntersectExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit except expression</description>
-					<attribute name="@param">
-						<description>eexpr
-            is the except expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="eexpr" comment="is the except expression." fulltype="ExceptExpr" type="ExceptExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit instance of expression</description>
-					<attribute name="@param">
-						<description>ioexp
-            is the instance of expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="ioexp" comment="is the instance of expression." fulltype="InstOfExpr" type="InstOfExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit treat-as expression</description>
-					<attribute name="@param">
-						<description>taexp
-            is the treat-as expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="taexp" comment="is the treat-as expression." fulltype="TreatAsExpr" type="TreatAsExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit castable expression</description>
-					<attribute name="@param">
-						<description>cexp
-            is the castable expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="cexp" comment="is the castable expression." fulltype="CastableExpr" type="CastableExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit cast expression</description>
-					<attribute name="@param">
-						<description>cexp
-            is the cast expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="cexp" comment="is the cast expression." fulltype="CastExpr" type="CastExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit minus expression</description>
-					<attribute name="@param">
-						<description>e
-            is the minus expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the minus expression." fulltype="MinusExpr" type="MinusExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit plus expression</description>
-					<attribute name="@param">
-						<description>e
-            is the plus expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the plus expression." fulltype="PlusExpr" type="PlusExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit XPath expression</description>
-					<attribute name="@param">
-						<description>e
-            is the XPath expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the XPath expression." fulltype="XPathExpr" type="XPathExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit a forward step expression</description>
-					<attribute name="@param">
-						<description>e
-            is the forward step.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the forward step." fulltype="ForwardStep" type="ForwardStep" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit a reverse step expression</description>
-					<attribute name="@param">
-						<description>e
-            is the reverse step.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the reverse step." fulltype="ReverseStep" type="ReverseStep" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit a name test expression</description>
-					<attribute name="@param">
-						<description>e
-            is thename test.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a result sequence</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is thename test." fulltype="NameTest" type="NameTest" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit variable reference</description>
-					<attribute name="@param">
-						<description>e
-            is the variable reference.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a result sequence</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the variable reference." fulltype="VarRef" type="VarRef" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit string literal.</description>
-					<attribute name="@param">
-						<description>e
-            is the string literal.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a result sequence</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the string literal." fulltype="StringLiteral" type="StringLiteral" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit integer literal.</description>
-					<attribute name="@param">
-						<description>e
-            is the integer literal.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a result sequence</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the integer literal." fulltype="IntegerLiteral" type="IntegerLiteral" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit double literal.</description>
-					<attribute name="@param">
-						<description>e
-            is the double literal.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a result sequence</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the double literal." fulltype="DoubleLiteral" type="DoubleLiteral" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit decimal literal.</description>
-					<attribute name="@param">
-						<description>e
-            is the decimal literal.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a result sequence</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the decimal literal." fulltype="DecimalLiteral" type="DecimalLiteral" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit parent expression.</description>
-					<attribute name="@param">
-						<description>e
-            is the parent expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the parent expression." fulltype="ParExpr" type="ParExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit context item expression.</description>
-					<attribute name="@param">
-						<description>e
-            is the context item expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a result sequence</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the context item expression." fulltype="CntxItemExpr" type="CntxItemExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function or null" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit function call.</description>
-					<attribute name="@param">
-						<description>e
-            is the function call.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function or null</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the function call." fulltype="FunctionCall" type="FunctionCall" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit single type.</description>
-					<attribute name="@param">
-						<description>e
-            is the single type.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the single type." fulltype="SingleType" type="SingleType" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit sequence type.</description>
-					<attribute name="@param">
-						<description>e
-            is the sequence type.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the sequence type." fulltype="SequenceType" type="SequenceType" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit item type.</description>
-					<attribute name="@param">
-						<description>e
-            is the item type.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the item type." fulltype="ItemType" type="ItemType" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit any kind test.</description>
-					<attribute name="@param">
-						<description>e
-            is the any kind test.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the any kind test." fulltype="AnyKindTest" type="AnyKindTest" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="result sequence" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit document test.</description>
-					<attribute name="@param">
-						<description>e
-            is the document test.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>result sequence</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the document test." fulltype="DocumentTest" type="DocumentTest" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit text test.</description>
-					<attribute name="@param">
-						<description>e
-            is the text test.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the text test." fulltype="TextTest" type="TextTest" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit comment test.</description>
-					<attribute name="@param">
-						<description>e
-            is the text test.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a new function</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the text test." fulltype="CommentTest" type="CommentTest" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a argument" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit PI test.</description>
-					<attribute name="@param">
-						<description>e
-            is the PI test.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a argument</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the PI test." fulltype="PITest" type="PITest" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit attribute test.</description>
-					<attribute name="@param">
-						<description>e
-            is the attribute test.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a result sequence</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the attribute test." fulltype="AttributeTest" type="AttributeTest" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit schema attribute test.</description>
-					<attribute name="@param">
-						<description>e
-            is the schema attribute test.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a result sequence</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the schema attribute test." fulltype="SchemaAttrTest" type="SchemaAttrTest" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit element test.</description>
-					<attribute name="@param">
-						<description>e
-            is the element test.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a result sequence</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the element test." fulltype="ElementTest" type="ElementTest" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit schema element test.</description>
-					<attribute name="@param">
-						<description>e
-            is the schema element test.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a result sequence</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the schema element test." fulltype="SchemaElemTest" type="SchemaElemTest" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit axis step.</description>
-					<attribute name="@param">
-						<description>e
-            is the axis step.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a result sequence</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the axis step." fulltype="AxisStep" type="AxisStep" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>visit filter expression</description>
-					<attribute name="@param">
-						<description>e
-            is the filter expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>a result sequence</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the filter expression." fulltype="FilterExpr" type="FilterExpr" />
-				</params>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" interface="true" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext">
-		<implements>
-			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.StaticContext" type="StaticContext" />
-		</implements>
-		<comment>
-			<description>Interface for dynamic context.</description>
-		</comment>
-		<methods>
-			<method visibility="public" name="context_item" returncomment="the context item." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
-				<comment>
-					<description>Get context item.</description>
-					<attribute name="@return">
-						<description>the context item.</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="context_position" returncomment="position of context node." fulltype="int" type="int">
-				<comment>
-					<description>Get context node position.</description>
-					<attribute name="@return">
-						<description>position of context node.</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="last" returncomment="last item position." fulltype="int" type="int">
-				<comment>
-					<description>Get position of last item.</description>
-					<attribute name="@return">
-						<description>last item position.</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="get_variable" returncomment="variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
-				<comment>
-					<description>Get variable.</description>
-					<attribute name="@param">
-						<description>name
-            is the name of the variable.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>variable.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="name" comment="is the name of the variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
-				</params>
-			</method>
-			<method visibility="public" name="set_variable" fulltype="void" type="void">
-				<comment>
-					<description>Set variable.</description>
-					<attribute name="@param">
-						<description>var
-            is name of the variable.</description>
-					</attribute>
-					<attribute name="@param">
-						<description>val
-            is the value to be set for the variable.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="var" comment="is name of the variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
-					<param name="val" comment="is the value to be set for the variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-			</method>
-			<method visibility="public" name="evaluate_function" returncomment="result of the function evaluation." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Evaluate the function of the arguments.</description>
-					<attribute name="@param">
-						<description>name
-            is the name.</description>
-					</attribute>
-					<attribute name="@param">
-						<description>args
-            are the arguments.</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError
-             dynamic error.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>result of the function evaluation.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="name" comment="is the name." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
-					<param name="args" comment="are the arguments." fulltype="java.util.Collection" type="Collection" />
-				</params>
-				<exceptions>
-					<exception comment="dynamic error." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="tz" returncomment="current date time and implicit timezone." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
-				<comment>
-					<description>Reads the day from a TimeDuration type</description>
-					<attribute name="@return">
-						<description>current date time and implicit timezone.</description>
-					</attribute>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="get_doc" returncomment="document." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Get document.</description>
-					<attribute name="@param">
-						<description>uri
-            is the URI of the document.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>document.</description>
-					</attribute>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="uri" comment="is the URI of the document." fulltype="java.net.URI" type="URI" />
-				</params>
-			</method>
-			<method visibility="public" name="resolve_uri" returncomment="the absolutized, resolved URI." fulltype="java.net.URI" type="URI">
-				<comment>
-					<description>Resolve an URI</description>
-					<attribute name="@param">
-						<description>uri
-            is the possibly relative URI to resolve</description>
-					</attribute>
-					<attribute name="@return">
-						<description>the absolutized, resolved URI.</description>
-					</attribute>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="uri" comment="is the possibly relative URI to resolve" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method visibility="public" name="current_date_time" returncomment="The current date and time, which will always be same for the dynamic context." fulltype="java.util.GregorianCalendar" type="GregorianCalendar">
-				<comment>
-					<description>Returns the current date time using the GregorianCalendar.</description>
-					<attribute name="@return">
-						<description>The current date and time, which will always be same for the dynamic context.</description>
-					</attribute>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="set_focus" fulltype="void" type="void">
-				<comment>
-					<description>Set focus.</description>
-					<attribute name="@param">
-						<description>focus
-            is focus to be set.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="focus" comment="is focus to be set." fulltype="Focus" type="Focus" />
-				</params>
-			</method>
-			<method visibility="public" name="focus" returncomment="Focus" fulltype="Focus" type="Focus">
-				<comment>
-					<description>Return focus.</description>
-					<attribute name="@return">
-						<description>Focus</description>
-					</attribute>
-				</comment>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="XPathException" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" serializable="true" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.XPathException" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
-		<comment>
-			<description>Dynamic Error like division by 0 or type errors.</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="DynamicError">
-				<comment>
-					<description>Constructor for Dynamic Error.</description>
-					<attribute name="@param">
-						<description>code
-            is the code that is set.</description>
-					</attribute>
-					<attribute name="@param">
-						<description>err
-            is the reason for the error.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="code" comment="is the code that is set." fulltype="java.lang.String" type="String" />
-					<param name="err" comment="is the reason for the error." fulltype="java.lang.String" type="String" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="DynamicError">
-				<comment>
-					<description>Constructor for Dynamic Error.</description>
-					<attribute name="@param">
-						<description>te
-            is the error type.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="te" comment="is the error type." fulltype="TypeError" type="TypeError" />
-				</params>
-			</constructor>
-			<method visibility="public" name="code" returncomment="the code." fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Returns the string of the code.</description>
-					<attribute name="@return">
-						<description>the code.</description>
-					</attribute>
-				</comment>
-			</method>
-			<method static="true" visibility="public" name="cant_cast" returncomment="the DynamicError." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
-				<comment>
-					<description>Returns the dynamic error.</description>
-					<attribute name="@param">
-						<description>err
-            is the error</description>
-					</attribute>
-					<attribute name="@return">
-						<description>the DynamicError.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="err" comment="is the error" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="throw_type_error" returncomment="the DynamicError." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
-				<comment>
-					<description>Returns the dynamic error.</description>
-					<attribute name="@throws">
-						<description>DynamicError
-             a Dynamic Error</description>
-					</attribute>
-					<attribute name="@return">
-						<description>the DynamicError.</description>
-					</attribute>
-				</comment>
-				<exceptions>
-					<exception comment="a Dynamic Error" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method static="true" visibility="public" name="user_error" returncomment="the DynamicError." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
-				<comment>
-					<description>Returns the dynamic error.</description>
-					<attribute name="@param">
-						<description>desc
-            is the description of the error</description>
-					</attribute>
-					<attribute name="@return">
-						<description>the DynamicError.</description>
-					</attribute>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="ns" fulltype="java.lang.String" type="String" />
-					<param name="code" fulltype="java.lang.String" type="String" />
-					<param name="desc" comment="is the description of the error" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="user_error" returncomment="the DynamicError." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
-				<comment>
-					<description>Returns the dynamic error.</description>
-					<attribute name="@param">
-						<description>err
-            is the description of the error</description>
-					</attribute>
-					<attribute name="@return">
-						<description>the DynamicError.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="err" comment="is the description of the error" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="regex_flags_error" returncomment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
-				<comment>
-					<description>Returns the Dynamic Error for invalid flags in regular expressions</description>
-					<attribute name="@param">
-						<description>err</description>
-					</attribute>
-					<attribute name="@return" />
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="err" comment="" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="regex_error" returncomment="the DynamicError." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
-				<comment>
-					<description>Returns the dynamic error.</description>
-					<attribute name="@param">
-						<description>err
-            is the error</description>
-					</attribute>
-					<attribute name="@return">
-						<description>the DynamicError.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="err" comment="is the error" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="regex_match_zero_length" returncomment="the DynamicError." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
-				<comment>
-					<description>Returns the dynamic error.</description>
-					<attribute name="@param">
-						<description>err
-            is the error</description>
-					</attribute>
-					<attribute name="@return">
-						<description>the DynamicError.</description>
-					</attribute>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="err" comment="is the error" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="unsupported_codepoint" returncomment="the DynamicError." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
-				<comment>
-					<description>Returns the dynamic error for an unsupported Unicode codepoint</description>
-					<attribute name="@param">
-						<description>err
-            is the error</description>
-					</attribute>
-					<attribute name="@return">
-						<description>the DynamicError.</description>
-					</attribute>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="err" comment="is the error" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="unsupported_normalization_form" returncomment="the DynamicError." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
-				<comment>
-					<description>Returns the dynamic error for an unsupported normalization form</description>
-					<attribute name="@param">
-						<description>err
-            is the error</description>
-					</attribute>
-					<attribute name="@return">
-						<description>the DynamicError.</description>
-					</attribute>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="err" comment="is the error" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="lexical_error" returncomment="the make_error" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
-				<comment>
-					<description>Returns the error message when reads an Invalid lexical value</description>
-					<attribute name="@param">
-						<description>msg
-            is the message</description>
-					</attribute>
-					<attribute name="@return">
-						<description>the make_error</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="msg" comment="is the message" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="not_cmp" returncomment="the make_error" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
-				<comment>
-					<description>Returns the error message when reads an Items not comparable</description>
-					<attribute name="@param">
-						<description>msg
-            is the message</description>
-					</attribute>
-					<attribute name="@return">
-						<description>the make_error</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="msg" comment="is the message" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="more_one_item" returncomment="the make_error" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
-				<comment>
-					<description>Returns the error message</description>
-					<attribute name="@param">
-						<description>msg
-            is the message</description>
-					</attribute>
-					<attribute name="@return">
-						<description>the make_error</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="msg" comment="is the message" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="empty_seq" returncomment="the make_error" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
-				<comment>
-					<description>Returns the error message</description>
-					<attribute name="@param">
-						<description>msg
-            is the message</description>
-					</attribute>
-					<attribute name="@return">
-						<description>the make_error</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="msg" comment="is the message" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="not_one" returncomment="the make_error" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
-				<comment>
-					<description>Returns the error message</description>
-					<attribute name="@param">
-						<description>msg
-            is the message</description>
-					</attribute>
-					<attribute name="@return">
-						<description>the make_error</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="msg" comment="is the message" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="invalid_doc" returncomment="the make_error" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
-				<comment>
-					<description>Returns the error message when reads Invalid argument to fn:doc</description>
-					<attribute name="@param">
-						<description>msg
-            is the message</description>
-					</attribute>
-					<attribute name="@return">
-						<description>the make_error</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="msg" comment="is the message" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="doc_not_found" returncomment="the make_error" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
-				<comment>
-					<description>Returns the error message when fn:doc cannot load its document</description>
-					<attribute name="@param">
-						<description>msg
-            is the message</description>
-					</attribute>
-					<attribute name="@return">
-						<description>the make_error</description>
-					</attribute>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="msg" comment="is the message" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="div_zero" returncomment="the make_error" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
-				<comment>
-					<description>Returns the error message when reads a Division by zero</description>
-					<attribute name="@param">
-						<description>msg
-            is the message</description>
-					</attribute>
-					<attribute name="@return">
-						<description>the make_error</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="msg" comment="is the message" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="numeric_overflow" returncomment="the make_error" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
-				<comment>
-					<description>Numeric operation overflow/underflow</description>
-					<attribute name="@param">
-						<description>msg
-            is the message</description>
-					</attribute>
-					<attribute name="@return">
-						<description>the make_error</description>
-					</attribute>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="msg" comment="is the message" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="contextUndefined" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
-				<comment>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-			</method>
-			<method static="true" visibility="public" name="invalidForCastConstructor" returncomment="FORG0001" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
-				<comment>
-					<description>Data is invalid for casting or the data type constructor.</description>
-					<attribute name="@param">
-						<description>msg</description>
-					</attribute>
-					<attribute name="@return">
-						<description>FORG0001</description>
-					</attribute>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-			</method>
-			<method static="true" visibility="public" name="invalidPrefix" returncomment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
-				<comment>
-					<description>No namespace found for prefix.</description>
-					<attribute name="@return" />
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-			</method>
-			<method static="true" visibility="public" name="noContextDoc" returncomment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
-				<comment>
-					<description>No context document</description>
-					<attribute name="@return" />
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" interface="true" fulltype="org.eclipse.wst.xml.xpath2.processor.Evaluator" type="Evaluator">
-		<comment>
-			<description>interface to Evaluator</description>
-		</comment>
-		<methods>
-			<method visibility="public" name="evaluate" returncomment="Result of evaluation." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Evaluate the root node.</description>
-					<attribute name="@param">
-						<description>root
-            is the XPath node.</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError
-             dynamic error.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>Result of evaluation.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="root" comment="is the XPath node." fulltype="XPathNode" type="XPathNode" />
-				</params>
-				<exceptions>
-					<exception comment="dynamic error." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.JFlexCupParser" type="JFlexCupParser">
-		<implements>
-			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.XPathParser" type="XPathParser" />
-		</implements>
-		<comment>
-			<description>JFlexCupParser parses the xpath expression</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="JFlexCupParser" />
-			<method visibility="public" name="parse" returncomment="the xpath value." fulltype="org.eclipse.wst.xml.xpath2.processor.ast.XPath" type="XPath">
-				<comment>
-					<description>Tries to parse the xpath expression</description>
-					<attribute name="@param">
-						<description>xpath
-            is the xpath string.</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>XPathParserException.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>the xpath value.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="xpath" comment="is the xpath string." fulltype="java.lang.String" type="String" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.XPathParserException" type="XPathParserException" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass abstract="true" superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-		<comment>
-			<description>Interface to the methods of range of result sequence</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="ResultSequence" />
-			<method abstract="true" visibility="public" name="add" fulltype="void" type="void">
-				<comment>
-					<description>add item</description>
-					<attribute name="@param">
-						<description>item
-            is an item of any type.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="item" comment="is an item of any type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-			</method>
-			<method abstract="true" visibility="public" name="concat" fulltype="void" type="void">
-				<comment>
-					<description>concatinate from rs</description>
-					<attribute name="@param">
-						<description>rs
-            is a Result Sequence.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="rs" comment="is a Result Sequence." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-			</method>
-			<method abstract="true" visibility="public" name="iterator" fulltype="java.util.ListIterator" type="ListIterator">
-				<comment>
-					<description>List Iterator.</description>
-				</comment>
-			</method>
-			<method abstract="true" visibility="public" name="get" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
-				<comment>
-					<description>get item in index i</description>
-					<attribute name="@param">
-						<description>i
-            is the position.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="i" comment="is the position." fulltype="int" type="int" />
-				</params>
-			</method>
-			<method abstract="true" visibility="public" name="size" returncomment="the size." fulltype="int" type="int">
-				<comment>
-					<description>get the size</description>
-					<attribute name="@return">
-						<description>the size.</description>
-					</attribute>
-				</comment>
-			</method>
-			<method abstract="true" visibility="public" name="clear" fulltype="void" type="void">
-				<comment>
-					<description>clear</description>
-				</comment>
-			</method>
-			<method abstract="true" visibility="public" name="create_new" returncomment="a new result sequence." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>create a new result sequence</description>
-					<attribute name="@return">
-						<description>a new result sequence.</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="first" returncomment="the first item." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
-				<comment>
-					<description>retrieve the first item</description>
-					<attribute name="@return">
-						<description>the first item.</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="empty" returncomment="boolean." fulltype="boolean" type="boolean">
-				<comment>
-					<description>check is the sequence is empty</description>
-					<attribute name="@return">
-						<description>boolean.</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string" returncomment="result string" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>retrieve items in sequence</description>
-					<attribute name="@return">
-						<description>result string</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="release" fulltype="void" type="void">
-				<comment>
-					<description>release the result sequence</description>
-				</comment>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass abstract="true" superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory" type="ResultSequenceFactory">
-		<comment>
-			<description>Result sequence factory</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="ResultSequenceFactory" />
-			<method abstract="true" visibility="protected" name="fact_create_new" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-			<method abstract="true" visibility="protected" name="fact_release" fulltype="void" type="void">
-				<params>
-					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-			</method>
-			<method visibility="protected" name="fact_create_new" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<params>
-					<param name="item" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-			</method>
-			<method visibility="protected" name="fact_print_debug" fulltype="void" type="void" />
-			<method static="true" visibility="public" name="create_new" returncomment="the creation of a new result sequence" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<attribute name="@return">
-						<description>the creation of a new result sequence</description>
-					</attribute>
-				</comment>
-			</method>
-			<method static="true" visibility="public" name="create_new" returncomment="factory creating new item" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<attribute name="@param">
-						<description>item
-            is an item of any type.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>factory creating new item</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="item" comment="is an item of any type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="release" fulltype="void" type="void">
-				<comment>
-					<attribute name="@param">
-						<description>rs
-            is the result sequence factory release rs</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="rs" comment="is the result sequence factory release rs" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="print_debug" fulltype="void" type="void">
-				<comment>
-					<description>factory debug</description>
-				</comment>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" interface="true" fulltype="org.eclipse.wst.xml.xpath2.processor.StaticChecker" type="StaticChecker">
-		<comment>
-			<description>Interface to static checker.</description>
-		</comment>
-		<methods>
-			<method visibility="public" name="check" fulltype="void" type="void">
-				<comment>
-					<description>checks XPathNode</description>
-					<attribute name="@throws">
-						<description>static error.</description>
-					</attribute>
-					<attribute name="@param">
-						<description>root
-            is an XPath node.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="root" comment="is an XPath node." fulltype="XPathNode" type="XPathNode" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.StaticError" type="StaticError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" interface="true" fulltype="org.eclipse.wst.xml.xpath2.processor.StaticContext" type="StaticContext">
-		<comment>
-			<description>interface to static context</description>
-		</comment>
-		<methods>
-			<method visibility="public" name="xpath1_compatible" returncomment="boolean" fulltype="boolean" type="boolean">
-				<comment>
-					<description>is it xpath 1.0 compatible.</description>
-					<attribute name="@return">
-						<description>boolean</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="prefix_exists" returncomment="boolean" fulltype="boolean" type="boolean">
-				<comment>
-					<description>namespaces does the prefix exist</description>
-					<attribute name="@param">
-						<description>prefix
-            is the prefix</description>
-					</attribute>
-					<attribute name="@return">
-						<description>boolean</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="prefix" comment="is the prefix" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method visibility="public" name="resolve_prefix" returncomment="string" fulltype="java.lang.String" type="String">
-				<comment>
-					<attribute name="@param">
-						<description>prefix
-            is the prefix</description>
-					</attribute>
-					<attribute name="@return">
-						<description>string</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="prefix" comment="is the prefix" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method visibility="public" name="default_namespace" returncomment="string" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>the default namespace</description>
-					<attribute name="@return">
-						<description>string</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="default_function_namespace" returncomment="string" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>the default function namespace</description>
-					<attribute name="@return">
-						<description>string</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="attribute_type_definition" returncomment="attributes&apos;s type definition" fulltype="XSTypeDefinition" type="XSTypeDefinition">
-				<comment>
-					<attribute name="@param">
-						<description>attr
-            is the qname variable</description>
-					</attribute>
-					<attribute name="@return">
-						<description>attributes&apos;s type definition</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="attr" comment="is the qname variable" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
-				</params>
-			</method>
-			<method visibility="public" name="element_type_definition" returncomment="element&apos;s type definition" fulltype="XSTypeDefinition" type="XSTypeDefinition">
-				<comment>
-					<attribute name="@param">
-						<description>elem
-            is the elem of the qname</description>
-					</attribute>
-					<attribute name="@return">
-						<description>element&apos;s type definition</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="elem" comment="is the elem of the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
-				</params>
-			</method>
-			<method visibility="public" name="attribute_declared" returncomment="boolean" fulltype="boolean" type="boolean">
-				<comment>
-					<description>is the attribute declared?</description>
-					<attribute name="@param">
-						<description>attr
-            is the attribute of the qname</description>
-					</attribute>
-					<attribute name="@return">
-						<description>boolean</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="attr" comment="is the attribute of the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
-				</params>
-			</method>
-			<method visibility="public" name="element_declared" returncomment="boolean" fulltype="boolean" type="boolean">
-				<comment>
-					<description>is the element declared?</description>
-					<attribute name="@param">
-						<description>elem
-            is the elem of the qname</description>
-					</attribute>
-					<attribute name="@return">
-						<description>boolean</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="elem" comment="is the elem of the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
-				</params>
-			</method>
-			<method visibility="public" name="function_exists" returncomment="boolean" fulltype="boolean" type="boolean">
-				<comment>
-					<description>is the element declared?</description>
-					<attribute name="@param">
-						<description>name
-            is the qname name</description>
-					</attribute>
-					<attribute name="@param">
-						<description>arity
-            integer of qname</description>
-					</attribute>
-					<attribute name="@return">
-						<description>boolean</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="name" comment="is the qname name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
-					<param name="arity" comment="integer of qname" fulltype="int" type="int" />
-				</params>
-			</method>
-			<method visibility="public" name="base_uri" returncomment="uri" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI" type="XSAnyURI">
-				<comment>
-					<description>base uri</description>
-					<attribute name="@return">
-						<description>uri</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="new_scope" fulltype="void" type="void">
-				<comment>
-					<description>new scope</description>
-				</comment>
-			</method>
-			<method visibility="public" name="destroy_scope" fulltype="void" type="void">
-				<comment>
-					<description>destroy scope</description>
-				</comment>
-			</method>
-			<method visibility="public" name="add_variable" fulltype="void" type="void">
-				<comment>
-					<description>add variable</description>
-					<attribute name="@param">
-						<description>name
-            is the qname</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="name" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
-				</params>
-			</method>
-			<method visibility="public" name="del_variable" returncomment="boolean if deleted variable" fulltype="boolean" type="boolean">
-				<comment>
-					<description>delete the variable</description>
-					<attribute name="@param">
-						<description>name
-            is the qname</description>
-					</attribute>
-					<attribute name="@return">
-						<description>boolean if deleted variable</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="name" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
-				</params>
-			</method>
-			<method visibility="public" name="variable_exists" returncomment="boolean if variable exists" fulltype="boolean" type="boolean">
-				<comment>
-					<attribute name="@param">
-						<description>name
-            is the qname</description>
-					</attribute>
-					<attribute name="@return">
-						<description>boolean if variable exists</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="name" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
-				</params>
-			</method>
-			<method visibility="public" name="variable_in_scope" fulltype="boolean" type="boolean">
-				<comment>
-					<attribute name="@param">
-						<description>var
-            is the variable of qname</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="var" comment="is the variable of qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
-				</params>
-			</method>
-			<method visibility="public" name="type_defined" returncomment="boolean" fulltype="boolean" type="boolean">
-				<comment>
-					<attribute name="@param">
-						<description>name
-            is qname</description>
-					</attribute>
-					<attribute name="@return">
-						<description>boolean</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="name" comment="is qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
-				</params>
-			</method>
-			<method visibility="public" name="derives_from" returncomment="boolean" fulltype="boolean" type="boolean">
-				<comment>
-					<attribute name="@param">
-						<description>at
-            the node type</description>
-					</attribute>
-					<attribute name="@param">
-						<description>et
-            is the qname</description>
-					</attribute>
-					<attribute name="@return">
-						<description>boolean</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="at" comment="the node type" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
-					<param name="et" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
-				</params>
-			</method>
-			<method visibility="public" name="derives_from" returncomment="boolean" fulltype="boolean" type="boolean">
-				<comment>
-					<attribute name="@param">
-						<description>at
-            the node type</description>
-					</attribute>
-					<attribute name="@param">
-						<description>et
-            is the XSTypeDefinition of the node</description>
-					</attribute>
-					<attribute name="@return">
-						<description>boolean</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="at" comment="the node type" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
-					<param name="et" comment="is the XSTypeDefinition of the node" fulltype="XSTypeDefinition" type="XSTypeDefinition" />
-				</params>
-			</method>
-			<method visibility="public" name="add_namespace" fulltype="void" type="void">
-				<comment>
-					<description>add namespace</description>
-					<attribute name="@param">
-						<description>prefix
-            the prefix of the namespace</description>
-					</attribute>
-					<attribute name="@param">
-						<description>ns
-            is the XSTypeDefinition of the node</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="prefix" comment="the prefix of the namespace" fulltype="java.lang.String" type="String" />
-					<param name="ns" comment="is the XSTypeDefinition of the node" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method visibility="public" name="expand_function_qname" returncomment="boolean if function can be expanded" fulltype="boolean" type="boolean">
-				<comment>
-					<description>expand function</description>
-					<attribute name="@param">
-						<description>name
-            is the qname</description>
-					</attribute>
-					<attribute name="@return">
-						<description>boolean if function can be expanded</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="name" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
-				</params>
-			</method>
-			<method visibility="public" name="expand_elem_type_qname" returncomment="boolean if function can be expanded" fulltype="boolean" type="boolean">
-				<comment>
-					<description>expand element type qname</description>
-					<attribute name="@param">
-						<description>name
-            is the qname</description>
-					</attribute>
-					<attribute name="@return">
-						<description>boolean if function can be expanded</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="name" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
-				</params>
-			</method>
-			<method visibility="public" name="expand_qname" returncomment="boolean if function can be expanded" fulltype="boolean" type="boolean">
-				<comment>
-					<description>expand qname</description>
-					<attribute name="@param">
-						<description>name
-            is the qname</description>
-					</attribute>
-					<attribute name="@return">
-						<description>boolean if function can be expanded</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="name" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
-				</params>
-			</method>
-			<method visibility="public" name="add_function_library" fulltype="void" type="void">
-				<comment>
-					<description>add function to library</description>
-					<attribute name="@param">
-						<description>fl
-            is the function library</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="fl" comment="is the function library" fulltype="FunctionLibrary" type="FunctionLibrary" />
-				</params>
-			</method>
-			<method visibility="public" name="make_atomic" returncomment="any atomic type" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType" type="AnyAtomicType">
-				<comment>
-					<attribute name="@param">
-						<description>name
-            is the qname</description>
-					</attribute>
-					<attribute name="@return">
-						<description>any atomic type</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="name" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
-				</params>
-			</method>
-			<method visibility="public" name="set_base_uri" fulltype="void" type="void">
-				<comment>
-					<description>Sets the base uri for the context.</description>
-					<attribute name="@param">
-						<description>baseuri</description>
-					</attribute>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="baseuri" comment="" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="XPathException" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" serializable="true" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.XPathException" fulltype="org.eclipse.wst.xml.xpath2.processor.StaticError" type="StaticError">
-		<comment>
-			<description>Base class for all static errors as defined by the XPath 2.0 specification</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="StaticError">
-				<comment>
-					<description>Constructor for a generic static error</description>
-					<attribute name="@param">
-						<description>code
-            The error code as specified in XPath 2.0</description>
-					</attribute>
-					<attribute name="@param">
-						<description>err
-            Humar readable error message</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="code" comment="The error code as specified in XPath 2.0" fulltype="java.lang.String" type="String" />
-					<param name="err" comment="Humar readable error message" fulltype="java.lang.String" type="String" />
-				</params>
-			</constructor>
-			<method visibility="public" name="code" returncomment="error code which represents the error" fulltype="java.lang.String" type="String">
-				<comment>
-					<attribute name="@return">
-						<description>error code which represents the error</description>
-					</attribute>
-				</comment>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.StaticNameResolver" type="StaticNameResolver">
-		<implements>
-			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.StaticChecker" type="StaticChecker" />
-		</implements>
-		<comment>
-			<description>This class resolves static names.</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="StaticNameResolver">
-				<comment>
-					<description>Constructor for static name resolver</description>
-					<attribute name="@param">
-						<description>sc
-            is the static context.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="sc" comment="is the static context." fulltype="org.eclipse.wst.xml.xpath2.processor.StaticContext" type="StaticContext" />
-				</params>
-			</constructor>
-			<method visibility="public" name="check" fulltype="void" type="void">
-				<comment>
-					<description>Check the XPath node.</description>
-					<attribute name="@param">
-						<description>node
-            is the XPath node to check.</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>StaticError
-             static error.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="node" comment="is the XPath node to check." fulltype="XPathNode" type="XPathNode" />
-				</params>
-				<exceptions>
-					<exception comment="static error." fulltype="org.eclipse.wst.xml.xpath2.processor.StaticError" type="StaticError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate an XPath by visiting all the nodes.</description>
-					<attribute name="@param">
-						<description>xp
-            is the XPath.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="xp" comment="is the XPath." fulltype="org.eclipse.wst.xml.xpath2.processor.ast.XPath" type="XPath" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a for expression.</description>
-					<attribute name="@param">
-						<description>fex
-            is the for expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="fex" comment="is the for expression." fulltype="ForExpr" type="ForExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a quantified expression.</description>
-					<attribute name="@param">
-						<description>qex
-            is the quantified expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="qex" comment="is the quantified expression." fulltype="QuantifiedExpr" type="QuantifiedExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate an if expression.</description>
-					<attribute name="@param">
-						<description>ifex
-            is the if expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="ifex" comment="is the if expression." fulltype="IfExpr" type="IfExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="printBinExpr" fulltype="void" type="void">
-				<comment>
-					<description>Validate a binary expression by checking its left and right children.</description>
-					<attribute name="@param">
-						<description>name
-            is the name of the binary expression.</description>
-					</attribute>
-					<attribute name="@param">
-						<description>e
-            is the expression itself.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="name" comment="is the name of the binary expression." fulltype="java.lang.String" type="String" />
-					<param name="e" comment="is the expression itself." fulltype="BinExpr" type="BinExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate an OR expression.</description>
-					<attribute name="@param">
-						<description>orex
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="orex" comment="is the expression." fulltype="OrExpr" type="OrExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate an AND expression.</description>
-					<attribute name="@param">
-						<description>andex
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="andex" comment="is the expression." fulltype="AndExpr" type="AndExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a comparison expression.</description>
-					<attribute name="@param">
-						<description>cmpex
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="cmpex" comment="is the expression." fulltype="CmpExpr" type="CmpExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a range expression.</description>
-					<attribute name="@param">
-						<description>rex
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="rex" comment="is the expression." fulltype="RangeExpr" type="RangeExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate an additon expression.</description>
-					<attribute name="@param">
-						<description>addex
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="addex" comment="is the expression." fulltype="AddExpr" type="AddExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a subtraction expression.</description>
-					<attribute name="@param">
-						<description>subex
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="subex" comment="is the expression." fulltype="SubExpr" type="SubExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a multiplication expression.</description>
-					<attribute name="@param">
-						<description>mulex
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="mulex" comment="is the expression." fulltype="MulExpr" type="MulExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a division expression.</description>
-					<attribute name="@param">
-						<description>mulex
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="mulex" comment="is the expression." fulltype="DivExpr" type="DivExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate an integer divison expression.</description>
-					<attribute name="@param">
-						<description>mulex
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="mulex" comment="is the expression." fulltype="IDivExpr" type="IDivExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a mod expression.</description>
-					<attribute name="@param">
-						<description>mulex
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="mulex" comment="is the expression." fulltype="ModExpr" type="ModExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a union expression.</description>
-					<attribute name="@param">
-						<description>unex
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="unex" comment="is the expression." fulltype="UnionExpr" type="UnionExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a piped expression.</description>
-					<attribute name="@param">
-						<description>pipex
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="pipex" comment="is the expression." fulltype="PipeExpr" type="PipeExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate an intersection expression.</description>
-					<attribute name="@param">
-						<description>iexpr
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="iexpr" comment="is the expression." fulltype="IntersectExpr" type="IntersectExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate an except expression.</description>
-					<attribute name="@param">
-						<description>eexpr
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="eexpr" comment="is the expression." fulltype="ExceptExpr" type="ExceptExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate an &apos;instance of&apos; expression.</description>
-					<attribute name="@param">
-						<description>ioexp
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="ioexp" comment="is the expression." fulltype="InstOfExpr" type="InstOfExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a &apos;treat as&apos; expression.</description>
-					<attribute name="@param">
-						<description>taexp
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="taexp" comment="is the expression." fulltype="TreatAsExpr" type="TreatAsExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a castable expression.</description>
-					<attribute name="@param">
-						<description>cexp
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="cexp" comment="is the expression." fulltype="CastableExpr" type="CastableExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a cast expression.</description>
-					<attribute name="@param">
-						<description>cexp
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="cexp" comment="is the expression." fulltype="CastExpr" type="CastExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="printUnExpr" fulltype="void" type="void">
-				<comment>
-					<description>Validate a unary expression by checking its one child.</description>
-					<attribute name="@param">
-						<description>name
-            is the name of the expression.</description>
-					</attribute>
-					<attribute name="@param">
-						<description>e
-            is the expression itself.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="name" comment="is the name of the expression." fulltype="java.lang.String" type="String" />
-					<param name="e" comment="is the expression itself." fulltype="UnExpr" type="UnExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a minus expression.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="MinusExpr" type="MinusExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a plus expression.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="PlusExpr" type="PlusExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate an xpath expression.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="XPathExpr" type="XPathExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a forward step.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="ForwardStep" type="ForwardStep" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a reverse step.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="ReverseStep" type="ReverseStep" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a name test.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="NameTest" type="NameTest" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a variable reference.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="VarRef" type="VarRef" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a string literal.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="StringLiteral" type="StringLiteral" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate an integer literal.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="IntegerLiteral" type="IntegerLiteral" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a double literal.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="DoubleLiteral" type="DoubleLiteral" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a decimal literal.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="DecimalLiteral" type="DecimalLiteral" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a parenthesized expression.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="ParExpr" type="ParExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a context item expression.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="CntxItemExpr" type="CntxItemExpr" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a function call.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="FunctionCall" type="FunctionCall" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a single type.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="SingleType" type="SingleType" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a sequence type.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="SequenceType" type="SequenceType" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate an item type.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="ItemType" type="ItemType" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate an any kind test.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="AnyKindTest" type="AnyKindTest" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a document test.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="DocumentTest" type="DocumentTest" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a text test.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="TextTest" type="TextTest" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a comment test.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="CommentTest" type="CommentTest" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a processing instructing test.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="PITest" type="PITest" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate an attribute test.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="AttributeTest" type="AttributeTest" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a schema attribute test.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="SchemaAttrTest" type="SchemaAttrTest" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate an element test.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="ElementTest" type="ElementTest" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a schema element test.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="SchemaElemTest" type="SchemaElemTest" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate an axis step.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="AxisStep" type="AxisStep" />
-				</params>
-			</method>
-			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Validate a filter expression.</description>
-					<attribute name="@param">
-						<description>e
-            is the expression.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="e" comment="is the expression." fulltype="FilterExpr" type="FilterExpr" />
-				</params>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="Exception" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" serializable="true" superclassfulltype="java.lang.Exception" fulltype="org.eclipse.wst.xml.xpath2.processor.XPathException" type="XPathException">
-		<comment>
-			<description>This exception is thrown when there is a problem with an XPath exception.</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XPathException">
-				<comment>
-					<description>Constructor for XPathException</description>
-					<attribute name="@param">
-						<description>reason
-            Is the reason why the exception has been thrown.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="reason" comment="Is the reason why the exception has been thrown." fulltype="java.lang.String" type="String" />
-				</params>
-			</constructor>
-			<method visibility="public" name="reason" returncomment="the reason why the exception has been throw." fulltype="java.lang.String" type="String">
-				<comment>
-					<description>The reason why the exception has been thrown.</description>
-					<attribute name="@return">
-						<description>the reason why the exception has been throw.</description>
-					</attribute>
-				</comment>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" interface="true" fulltype="org.eclipse.wst.xml.xpath2.processor.XPathParser" type="XPathParser">
-		<comment>
-			<description>This is an interface class for the XPath parser.</description>
-		</comment>
-		<methods>
-			<method visibility="public" name="parse" returncomment="The parsed XPath." fulltype="org.eclipse.wst.xml.xpath2.processor.ast.XPath" type="XPath">
-				<comment>
-					<description>Constructor for the XPath parser interface.</description>
-					<attribute name="@param">
-						<description>xpath
-            is the input XPath to be parsed.</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>XPathParserException
-             XPath parser exception.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>The parsed XPath.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="xpath" comment="is the input XPath to be parsed." fulltype="java.lang.String" type="String" />
-				</params>
-				<exceptions>
-					<exception comment="XPath parser exception." fulltype="org.eclipse.wst.xml.xpath2.processor.XPathParserException" type="XPathParserException" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="StaticError" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" serializable="true" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.StaticError" fulltype="org.eclipse.wst.xml.xpath2.processor.XPathParserException" type="XPathParserException">
-		<comment>
-			<description>This exception is thrown if there is a problem with the XPath parser.</description>
-		</comment>
-		<fields>
-			<field final="true" static="true" const="XPST0003" visibility="public" name="INVALID_XPATH_EXPRESSION" constexpr="&quot;XPST0003&quot;" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>The type of exception.</description>
-				</comment>
-			</field>
-		</fields>
-		<methods>
-			<constructor visibility="public" name="XPathParserException">
-				<comment>
-					<description>Constructor for XPathParserException.</description>
-					<attribute name="@param">
-						<description>reason
-            is the reason why the exception has been thrown.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="reason" comment="is the reason why the exception has been thrown." fulltype="java.lang.String" type="String" />
-				</params>
-			</constructor>
-		</methods>
-	</jelclass>
-	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.XercesLoader" type="XercesLoader">
-		<implements>
-			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.DOMLoader" type="DOMLoader" />
-		</implements>
-		<comment>
-			<description>Xerces loader class. The loading is always namespace aware.</description>
-		</comment>
-		<fields>
-			<field final="true" static="true" const="http://xml.org/sax/features/namespaces" visibility="public" name="NAMESPACES_FEATURE" constexpr="&quot;http://xml.org/sax/features/namespaces&quot;" fulltype="java.lang.String" type="String" />
-			<field final="true" static="true" const="http://xml.org/sax/features/validation" visibility="public" name="VALIDATION_FEATURE" constexpr="&quot;http://xml.org/sax/features/validation&quot;" fulltype="java.lang.String" type="String" />
-			<field final="true" static="true" const="http://apache.org/xml/features/validation/schema" visibility="public" name="SCHEMA_VALIDATION_FEATURE" constexpr="&quot;http://apache.org/xml/features/validation/schema&quot;" fulltype="java.lang.String" type="String" />
-			<field final="true" static="true" const="http://apache.org/xml/features/validation/schema-full-checking" visibility="public" name="SCHEMA_FULL_CHECKING_FEATURE" constexpr="&quot;http://apache.org/xml/features/validation/schema-full-checking&quot;" fulltype="java.lang.String" type="String" />
-			<field final="true" static="true" const="http://apache.org/xml/features/validation/dynamic" visibility="public" name="DYNAMIC_VALIDATION_FEATURE" constexpr="&quot;http://apache.org/xml/features/validation/dynamic&quot;" fulltype="java.lang.String" type="String" />
-			<field final="true" static="true" const="http://apache.org/xml/features/nonvalidating/load-external-dtd" visibility="public" name="LOAD_EXTERNAL_DTD_FEATURE" constexpr="&quot;http://apache.org/xml/features/nonvalidating/load-external-dtd&quot;" fulltype="java.lang.String" type="String" />
-			<field final="true" static="true" const="http://java.sun.com/xml/jaxp/properties/schemaLanguage" visibility="public" name="JAXP_SCHEMA_LANGUAGE" constexpr="&quot;http://java.sun.com/xml/jaxp/properties/schemaLanguage&quot;" fulltype="java.lang.String" type="String" />
-			<field final="true" static="true" const="http://www.w3.org/2001/XMLSchema" visibility="public" name="W3C_XML_SCHEMA" constexpr="&quot;http://www.w3.org/2001/XMLSchema&quot;" fulltype="java.lang.String" type="String" />
-			<field final="true" static="true" const="http://apache.org/xml/properties/dom/document-class-name" visibility="public" name="DOCUMENT_IMPLEMENTATION_PROPERTY" constexpr="&quot;http://apache.org/xml/properties/dom/document-class-name&quot;" fulltype="java.lang.String" type="String" />
-			<field final="true" static="true" const="org.apache.xerces.dom.PSVIDocumentImpl" visibility="public" name="DOCUMENT_PSVI_IMPLEMENTATION" constexpr="&quot;org.apache.xerces.dom.PSVIDocumentImpl&quot;" fulltype="java.lang.String" type="String" />
-			<field visibility="package-private" name="_validating" fulltype="boolean" type="boolean" />
-			<field visibility="package-private" name="_schema" fulltype="javax.xml.validation.Schema" type="Schema" />
-		</fields>
-		<methods>
-			<constructor visibility="public" name="XercesLoader">
-				<comment>
-					<description>Constructor for Xerces loader.</description>
-				</comment>
-			</constructor>
-			<constructor visibility="public" name="XercesLoader">
-				<comment>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="schema" fulltype="javax.xml.validation.Schema" type="Schema" />
-				</params>
-			</constructor>
-			<method visibility="public" name="load" returncomment="The loaded document." fulltype="org.w3c.dom.Document" type="Document">
-				<comment>
-					<description>The Xerces loader loads the XML document</description>
-					<attribute name="@param">
-						<description>in
-            is the input stream.</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DOMLoaderException
-             DOM loader exception.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>The loaded document.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="in" comment="is the input stream." fulltype="java.io.InputStream" type="InputStream" />
-				</params>
-				<exceptions>
-					<exception comment="DOM loader exception." fulltype="org.eclipse.wst.xml.xpath2.processor.DOMLoaderException" type="DOMLoaderException" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="set_validating" fulltype="void" type="void">
-				<comment>
-					<description>Set validating boolean.</description>
-					<attribute name="@param">
-						<description>x
-            is the value to set the validating boolean to.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="is the value to set the validating boolean to." fulltype="boolean" type="boolean" />
-				</params>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="XPathNode" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.ast" superclassfulltype="XPathNode" fulltype="org.eclipse.wst.xml.xpath2.processor.ast.XPath" type="XPath">
-		<comment>
-			<description>Support for XPath.</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XPath">
-				<comment>
-					<description>Constructor for XPath.</description>
-					<attribute name="@param">
-						<description>exprs
-            XPath expressions.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="exprs" comment="XPath expressions." fulltype="java.util.Collection" type="Collection" />
-				</params>
-			</constructor>
-			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Support for Visitor interface.</description>
-					<attribute name="@return">
-						<description>Result of Visitor operation.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="v" fulltype="XPathVisitor" type="XPathVisitor" />
-				</params>
-			</method>
-			<method visibility="public" name="iterator" returncomment="Result of Iterator operation." fulltype="java.util.Iterator" type="Iterator">
-				<comment>
-					<description>Support for Iterator interface.</description>
-					<attribute name="@return">
-						<description>Result of Iterator operation.</description>
-					</attribute>
-				</comment>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="FunctionLibrary" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.function" superclassfulltype="FunctionLibrary" fulltype="org.eclipse.wst.xml.xpath2.processor.function.FnFunctionLibrary" type="FnFunctionLibrary">
-		<comment>
-			<description>Maintains a library of core functions and user defined functions.</description>
-		</comment>
-		<fields>
-			<field final="true" static="true" const="http://www.w3.org/2005/xpath-functions" visibility="public" name="XPATH_FUNCTIONS_NS" constexpr="&quot;http://www.w3.org/2005/xpath-functions&quot;" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Path to xpath functions specification.</description>
-				</comment>
-			</field>
-		</fields>
-		<methods>
-			<constructor visibility="public" name="FnFunctionLibrary">
-				<comment>
-					<description>Constructor for FnFunctionLibrary.</description>
-				</comment>
-			</constructor>
-		</methods>
-	</jelclass>
-	<jelclass superclass="ConstructorFL" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.function" superclassfulltype="ConstructorFL" fulltype="org.eclipse.wst.xml.xpath2.processor.function.XSCtrLibrary" type="XSCtrLibrary">
-		<comment>
-			<description>XML Schema control library support.</description>
-		</comment>
-		<fields>
-			<field final="true" static="true" const="http://www.w3.org/2001/XMLSchema" visibility="public" name="XML_SCHEMA_NS" constexpr="&quot;http://www.w3.org/2001/XMLSchema&quot;" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Path to w3.org XML Schema specification.</description>
-				</comment>
-			</field>
-		</fields>
-		<methods>
-			<constructor visibility="public" name="XSCtrLibrary">
-				<comment>
-					<description>Constructor for XSCtrLibrary.</description>
-				</comment>
-			</constructor>
-		</methods>
-	</jelclass>
-	<jelclass abstract="true" superclass="AnySimpleType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnySimpleType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType" type="AnyAtomicType">
-		<comment>
-			<description>Common base for every atomic type</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="AnyAtomicType" />
-		</methods>
-	</jelclass>
-	<jelclass abstract="true" superclass="AnyType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnySimpleType" type="AnySimpleType">
-		<comment>
-			<description>Common base for every simple type</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="AnySimpleType" />
-		</methods>
-	</jelclass>
-	<jelclass abstract="true" superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
-		<comment>
-			<description>Common base for every type</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="AnyType" />
-			<method abstract="true" visibility="public" name="string_type" returncomment="Datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>Datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method abstract="true" visibility="public" name="string_value" returncomment="Datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>Datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="NodeType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AttrType" type="AttrType">
-		<comment>
-			<description>A representation of the AttributeType datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="AttrType">
-				<comment>
-					<description>Initialises to null</description>
-				</comment>
-			</constructor>
-			<constructor visibility="public" name="AttrType">
-				<comment>
-					<description>Initialises according to the supplied parameters</description>
-					<attribute name="@param">
-						<description>v
-            The attribute being represented</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="v" comment="The attribute being represented" fulltype="org.w3c.dom.Attr" type="Attr" />
-				</params>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;attribute&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;attribute&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="String representation of the attribute being stored" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the attribute being stored</description>
-					<attribute name="@return">
-						<description>String representation of the attribute being stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="typed_value" returncomment="New ResultSequence consisting of the attribute being stored" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the attribute being stored</description>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the attribute being stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="node_name" returncomment="Name of the node" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
-				<comment>
-					<description>Retrieves the name of the node</description>
-					<attribute name="@return">
-						<description>Name of the node</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="isID" fulltype="boolean" type="boolean" />
-			<method visibility="public" name="isIDREF" fulltype="boolean" type="boolean">
-				<comment>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="protected" name="isAttrType" fulltype="boolean" type="boolean">
-				<params>
-					<param name="typeName" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass abstract="true" superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" type="CalendarType">
-		<comment>
-			<description>Common base for all Calendar based classes</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="CalendarType" />
-		</methods>
-	</jelclass>
-	<jelclass superclass="NodeType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CommentType" type="CommentType">
-		<comment>
-			<description>A representation of the CommentType datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="CommentType">
-				<comment>
-					<description>Initialise according to the supplied parameters</description>
-					<attribute name="@param">
-						<description>v
-            The comment being represented</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="v" comment="The comment being represented" fulltype="org.w3c.dom.Comment" type="Comment" />
-				</params>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;comment&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;comment&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="String representation of the comment being stored" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the comment being stored</description>
-					<attribute name="@return">
-						<description>String representation of the comment being stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="typed_value" returncomment="New ResultSequence consisting of the comment stored" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the comment stored</description>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the comment stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="node_name" returncomment="null" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
-				<comment>
-					<description>Unsupported method for this node.</description>
-					<attribute name="@return">
-						<description>null</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="isID" fulltype="boolean" type="boolean">
-				<comment>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="isIDREF" fulltype="boolean" type="boolean">
-				<comment>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass abstract="true" superclass="AnyAtomicType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" type="CtrType">
-		<comment>
-			<description>A representation of the CtrType datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="CtrType" />
-			<method abstract="true" visibility="public" name="constructor" returncomment="The resulting ResultSequence" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Used for constructor function.</description>
-					<attribute name="@param">
-						<description>arg
-            Either an empty sequence or 1 atomic type</description>
-					</attribute>
-					<attribute name="@return">
-						<description>The resulting ResultSequence</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="Either an empty sequence or 1 atomic type" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method abstract="true" visibility="public" name="type_name" returncomment="String representation of the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>String representation of the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="NodeType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.DocType" type="DocType">
-		<comment>
-			<description>A representation of the DocumentType datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="DocType">
-				<comment>
-					<description>Initialises according to the supplied parameters</description>
-					<attribute name="@param">
-						<description>v
-            The document being represented</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="v" comment="The document being represented" fulltype="org.w3c.dom.Document" type="Document" />
-				</params>
-			</constructor>
-			<method visibility="public" name="value" returncomment="Actual document being represented" fulltype="org.w3c.dom.Document" type="Document">
-				<comment>
-					<description>Retrieves the actual document being represented</description>
-					<attribute name="@return">
-						<description>Actual document being represented</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_type" returncomment="&quot;document&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;document&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="String representation of the document being stored" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the document being stored</description>
-					<attribute name="@return">
-						<description>String representation of the document being stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="typed_value" returncomment="New ResultSequence consisting of the document being stored" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the document being stored</description>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the document being stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="node_name" returncomment="QName representation of the name of the node" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
-				<comment>
-					<description>Retrieves the name of the node</description>
-					<attribute name="@return">
-						<description>QName representation of the name of the node</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="isID" fulltype="boolean" type="boolean">
-				<comment>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="isIDREF" fulltype="boolean" type="boolean">
-				<comment>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="NodeType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.ElementType" type="ElementType">
-		<comment>
-			<description>A representation of the ElementType datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="ElementType">
-				<comment>
-					<description>Initialises to a null element</description>
-				</comment>
-			</constructor>
-			<constructor visibility="public" name="ElementType">
-				<comment>
-					<description>Initialises according to the supplied parameters</description>
-					<attribute name="@param">
-						<description>v
-            The element being represented</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="v" comment="The element being represented" fulltype="org.w3c.dom.Element" type="Element" />
-				</params>
-			</constructor>
-			<method visibility="public" name="value" returncomment="Actual element value being represented" fulltype="org.w3c.dom.Element" type="Element">
-				<comment>
-					<description>Retrieves the actual element value being represented</description>
-					<attribute name="@return">
-						<description>Actual element value being represented</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_type" returncomment="&quot;element&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;element&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="String representation of the element being stored" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the element being stored</description>
-					<attribute name="@return">
-						<description>String representation of the element being stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="typed_value" returncomment="New ResultSequence consisting of the element stored" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the element stored</description>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the element stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method static="true" visibility="public" name="textnode_strings" returncomment="String representation of the node supplied" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Recursively concatenate TextNode strings</description>
-					<attribute name="@param">
-						<description>node
-            Node to recurse</description>
-					</attribute>
-					<attribute name="@return">
-						<description>String representation of the node supplied</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="node" comment="Node to recurse" fulltype="org.w3c.dom.Node" type="Node" />
-				</params>
-			</method>
-			<method visibility="public" name="node_name" returncomment="QName representation of the name of the node" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
-				<comment>
-					<description>Retrieves the name of the node</description>
-					<attribute name="@return">
-						<description>QName representation of the name of the node</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="nilled" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-			<method visibility="public" name="isID" fulltype="boolean" type="boolean">
-				<comment>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="isIDREF" fulltype="boolean" type="boolean">
-				<comment>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="protected" name="isElementType" fulltype="boolean" type="boolean">
-				<params>
-					<param name="typeName" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass abstract="true" superclass="AnyType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType">
-		<comment>
-			<description>A representation of a Node datatype</description>
-		</comment>
-		<fields>
-			<field final="true" static="true" const="IDREF" visibility="protected" name="SCHEMA_TYPE_IDREF" constexpr="&quot;IDREF&quot;" fulltype="java.lang.String" type="String" />
-			<field final="true" static="true" const="ID" visibility="protected" name="SCHEMA_TYPE_ID" constexpr="&quot;ID&quot;" fulltype="java.lang.String" type="String" />
-		</fields>
-		<methods>
-			<constructor visibility="public" name="NodeType">
-				<comment>
-					<description>Initialises according to the supplied parameters</description>
-					<attribute name="@param">
-						<description>node
-            The Node being represented</description>
-					</attribute>
-					<attribute name="@param">
-						<description>document_order
-            The document order</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="node" comment="The Node being represented" fulltype="org.w3c.dom.Node" type="Node" />
-				</params>
-			</constructor>
-			<method visibility="public" name="node_value" returncomment="Actual node being represented" fulltype="org.w3c.dom.Node" type="Node">
-				<comment>
-					<description>Retrieves the actual node being represented</description>
-					<attribute name="@return">
-						<description>Actual node being represented</description>
-					</attribute>
-				</comment>
-			</method>
-			<method abstract="true" visibility="public" name="typed_value" returncomment="Actual node being represented" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Retrieves the actual node being represented</description>
-					<attribute name="@return">
-						<description>Actual node being represented</description>
-					</attribute>
-				</comment>
-			</method>
-			<method abstract="true" visibility="public" name="node_name" returncomment="QName representation of the name of the node" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
-				<comment>
-					<description>Retrieves the name of the node</description>
-					<attribute name="@return">
-						<description>QName representation of the name of the node</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="nilled" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-			<method static="true" visibility="public" name="dom_to_xpath" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType">
-				<params>
-					<param name="node" fulltype="org.w3c.dom.Node" type="Node" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="eliminate_dups" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<params>
-					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="sort_document_order" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<params>
-					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="same" fulltype="boolean" type="boolean">
-				<params>
-					<param name="a" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
-					<param name="b" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
-				</params>
-			</method>
-			<method visibility="public" name="before" fulltype="boolean" type="boolean">
-				<params>
-					<param name="two" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="before" fulltype="boolean" type="boolean">
-				<params>
-					<param name="a" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
-					<param name="b" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
-				</params>
-			</method>
-			<method visibility="public" name="after" fulltype="boolean" type="boolean">
-				<params>
-					<param name="two" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="after" fulltype="boolean" type="boolean">
-				<params>
-					<param name="a" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
-					<param name="b" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
-				</params>
-			</method>
-			<method visibility="protected" name="getTypedValueForPrimitiveType" fulltype="java.lang.Object" type="Object">
-				<params>
-					<param name="typeDef" fulltype="XSTypeDefinition" type="XSTypeDefinition" />
-				</params>
-			</method>
-			<method abstract="true" visibility="public" name="isID" fulltype="boolean" type="boolean" />
-			<method abstract="true" visibility="public" name="isIDREF" fulltype="boolean" type="boolean" />
-			<method visibility="protected" name="isType" returncomment="" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Utility method to check to see if a particular TypeInfo matches.</description>
-					<attribute name="@param">
-						<description>typeInfo</description>
-					</attribute>
-					<attribute name="@param">
-						<description>typeName</description>
-					</attribute>
-					<attribute name="@return" />
-				</comment>
-				<params>
-					<param name="typeInfo" comment="" fulltype="org.w3c.dom.TypeInfo" type="TypeInfo" />
-					<param name="typeName" comment="" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass abstract="true" superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-		<comment>
-			<description>A representation of the NumericType datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="NumericType" />
-			<method abstract="true" visibility="public" name="zero" returncomment="True if node represnts 0. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Check whether node represnts 0</description>
-					<attribute name="@return">
-						<description>True if node represnts 0. False otherwise</description>
-					</attribute>
-				</comment>
-			</method>
-			<method abstract="true" visibility="public" name="unary_minus" returncomment="New ResultSequence representing the negation of the number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence representing the negation of the number
- stored</description>
-					<attribute name="@return">
-						<description>New ResultSequence representing the negation of the number stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method abstract="true" visibility="public" name="abs" returncomment="New NumericType representing the absolute of the number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Absolutes the number stored</description>
-					<attribute name="@return">
-						<description>New NumericType representing the absolute of the number stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method abstract="true" visibility="public" name="ceiling" returncomment="A NumericType representing the smallest integer greater than the
-         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Returns the smallest integer greater than the number stored</description>
-					<attribute name="@return">
-						<description>A NumericType representing the smallest integer greater than the
-         number stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method abstract="true" visibility="public" name="floor" returncomment="A NumericType representing the largest integer smaller than the
-         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Returns the largest integer smaller than the number stored</description>
-					<attribute name="@return">
-						<description>A NumericType representing the largest integer smaller than the
-         number stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method abstract="true" visibility="public" name="round" returncomment="A NumericType representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Returns the closest integer of the number stored.</description>
-					<attribute name="@return">
-						<description>A NumericType representing the closest long of the number stored.</description>
-					</attribute>
-				</comment>
-			</method>
-			<method abstract="true" visibility="public" name="round_half_to_even" returncomment="A NumericType representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Returns the closest integer of the number stored.</description>
-					<attribute name="@return">
-						<description>A NumericType representing the closest long of the number stored.</description>
-					</attribute>
-				</comment>
-			</method>
-			<method abstract="true" visibility="public" name="round_half_to_even" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<params>
-					<param name="precision" fulltype="int" type="int" />
-				</params>
-			</method>
-			<method visibility="protected" name="get_single_arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
-				<params>
-					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method static="true" visibility="public" name="get_single_type" returncomment="The node being tested" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
-				<comment>
-					<description>Check whether the supplied node is of the supplied type</description>
-					<attribute name="@param">
-						<description>at
-            The node being tested</description>
-					</attribute>
-					<attribute name="@param">
-						<description>type
-            The type expected</description>
-					</attribute>
-					<attribute name="@return">
-						<description>The node being tested</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError
-             If node being tested is not of expected type</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="at" comment="The node being tested" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-					<param name="type" comment="The type expected" fulltype="java.lang.Class" type="Class" />
-				</params>
-				<exceptions>
-					<exception comment="If node being tested is not of expected type" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method static="true" visibility="public" name="get_single_type" returncomment="The node being tested" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
-				<comment>
-					<description>Check whether first node in supplied ResultSequence is of the supplied
- type</description>
-					<attribute name="@param">
-						<description>rs
-            The node being tested</description>
-					</attribute>
-					<attribute name="@param">
-						<description>type
-            The type expected</description>
-					</attribute>
-					<attribute name="@return">
-						<description>The node being tested</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError
-             If node being tested is not of expected type</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="rs" comment="The node being tested" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-					<param name="type" comment="The type expected" fulltype="java.lang.Class" type="Class" />
-				</params>
-				<exceptions>
-					<exception comment="If node being tested is not of expected type" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="NodeType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.PIType" type="PIType">
-		<comment>
-			<description>A representation of the ProcessingInstruction datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="PIType">
-				<comment>
-					<description>Initialises according to the supplied parameters</description>
-					<attribute name="@param">
-						<description>v
-            The processing instruction this node represents</description>
-					</attribute>
-					<attribute name="@param">
-						<description>doc_order
-            The document order</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="v" comment="The processing instruction this node represents" fulltype="org.w3c.dom.ProcessingInstruction" type="ProcessingInstruction" />
-				</params>
-			</constructor>
-			<method visibility="public" name="value" returncomment="Actual processing instruction this node represents" fulltype="org.w3c.dom.ProcessingInstruction" type="ProcessingInstruction">
-				<comment>
-					<description>Retrieves the actual processing instruction this node represents</description>
-					<attribute name="@return">
-						<description>Actual processing instruction this node represents</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_type" returncomment="&quot;processing-instruction&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;processing-instruction&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="String representation of the actual processing instruction stored" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the actual processing instruction
- stored</description>
-					<attribute name="@return">
-						<description>String representation of the actual processing instruction stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="typed_value" returncomment="New ResultSequence consisting of the processing instruction
-         stored" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the processing instruction
- stored</description>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the processing instruction
-         stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="node_name" returncomment="A QName representation of the node&apos;s name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
-				<comment>
-					<description>Constructs the node&apos;s name</description>
-					<attribute name="@return">
-						<description>A QName representation of the node&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="isID" fulltype="boolean" type="boolean">
-				<comment>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="isIDREF" fulltype="boolean" type="boolean">
-				<comment>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
-		<comment>
-			<description>A representation of a QName datatype (name of a node)</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="QName">
-				<comment>
-					<description>Initialises using the supplied parameters</description>
-					<attribute name="@param">
-						<description>prefix
-            Prefix of the node name</description>
-					</attribute>
-					<attribute name="@param">
-						<description>local_part
-            The node name itself</description>
-					</attribute>
-					<attribute name="@param">
-						<description>ns
-            The namespace this nodename belongs to</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="prefix" comment="Prefix of the node name" fulltype="java.lang.String" type="String" />
-					<param name="local_part" comment="The node name itself" fulltype="java.lang.String" type="String" />
-					<param name="ns" comment="The namespace this nodename belongs to" fulltype="java.lang.String" type="String" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="QName">
-				<comment>
-					<description>Initialises using the supplied parameters</description>
-					<attribute name="@param">
-						<description>prefix
-            Prefix of the node name</description>
-					</attribute>
-					<attribute name="@param">
-						<description>local_part
-            The node name itself</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="prefix" comment="Prefix of the node name" fulltype="java.lang.String" type="String" />
-					<param name="local_part" comment="The node name itself" fulltype="java.lang.String" type="String" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="QName">
-				<comment>
-					<description>Initialises using only the node name (no prefix)</description>
-					<attribute name="@param">
-						<description>local_part
-            The node name</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="local_part" comment="The node name" fulltype="java.lang.String" type="String" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="QName">
-				<comment>
-					<description>Initialises with a null prefix and null node name</description>
-				</comment>
-			</constructor>
-			<method static="true" visibility="public" name="parse_QName" returncomment="null" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
-				<comment>
-					<description>Creates a new QName by parsing a String representation of the node name</description>
-					<attribute name="@param">
-						<description>str
-            String representation of the name</description>
-					</attribute>
-					<attribute name="@return">
-						<description>null</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="str" comment="String representation of the name" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the QName supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable QName in the
- supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence to extract from</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the QName supplied</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence to extract from" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="string_value" returncomment="String representation of the node name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the node name. This method is
- functionally identical to string()</description>
-					<attribute name="@return">
-						<description>String representation of the node name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:QName&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:QName&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;QName&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;QName&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string" returncomment="String representation of the node name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the node name. This method is
- functionally identical to string_value()</description>
-					<attribute name="@return">
-						<description>String representation of the node name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="expanded_name" returncomment="Full pathname including namespace" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the full pathname including the namespace. This method must not
- be called if a namespace does exist for this node</description>
-					<attribute name="@return">
-						<description>Full pathname including namespace</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="prefix" returncomment="Prefix of the node&apos;s pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the prefix of the node&apos;s pathname</description>
-					<attribute name="@return">
-						<description>Prefix of the node&apos;s pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="set_namespace" fulltype="void" type="void">
-				<comment>
-					<description>Sets the namespace for this node</description>
-					<attribute name="@param">
-						<description>n
-            Namespace this node belongs in</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="n" comment="Namespace this node belongs in" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method visibility="public" name="namespace" returncomment="Namespace that this node belongs in" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the namespace that this node belongs in. This method must not
- be called if the node does not belong in a namespace</description>
-					<attribute name="@return">
-						<description>Namespace that this node belongs in</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="local" returncomment="Node&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the node&apos;s name</description>
-					<attribute name="@return">
-						<description>Node&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="expanded" returncomment="True if a namespace has been defined for node. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Check for whether a namespace has been defined for this node</description>
-					<attribute name="@return">
-						<description>True if a namespace has been defined for node. False otherwise</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="equals" returncomment="True if the two represent the same node. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Equality comparison between this QName and a supplied QName</description>
-					<attribute name="@param">
-						<description>obj
-            The object to compare with. Should be of type QName</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the two represent the same node. False otherwise</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="obj" comment="The object to compare with. Should be of type QName" fulltype="java.lang.Object" type="Object" />
-				</params>
-			</method>
-			<method visibility="public" name="hashCode" returncomment="The hashcode for the full pathname" fulltype="int" type="int">
-				<comment>
-					<description>Calculates the hashcode for the full pathname</description>
-					<attribute name="@return">
-						<description>The hashcode for the full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="eq" returncomment="True if the two represent the same node. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Equality comparison between this QName and the supplied QName</description>
-					<attribute name="@param">
-						<description>arg
-            The QName to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the two represent the same node. False otherwise</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The QName to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="toString" fulltype="java.lang.String" type="String" />
-		</methods>
-	</jelclass>
-	<jelclass superclass="NodeType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.TextType" type="TextType">
-		<comment>
-			<description>A representation of the TextType datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="TextType">
-				<comment>
-					<description>Initialises using the supplied parameters</description>
-					<attribute name="@param">
-						<description>v
-            The value of the TextType node</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="v" comment="The value of the TextType node" fulltype="org.w3c.dom.Text" type="Text" />
-				</params>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;text&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;text&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="String representation of the actual value stored" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the actual value stored</description>
-					<attribute name="@return">
-						<description>String representation of the actual value stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="typed_value" returncomment="New ResultSequence consisting of the Text value stored" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the Text value stored</description>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the Text value stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="node_name" returncomment="null (no user defined name for this node gets defined)" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
-				<comment>
-					<description>Unsupported method for this nodetype.</description>
-					<attribute name="@return">
-						<description>null (no user defined name for this node gets defined)</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="isID" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Will always return false;</description>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="isIDREF" fulltype="boolean" type="boolean">
-				<comment>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="DecimalFormat" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" serializable="true" superclassfulltype="java.text.DecimalFormat" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XPathDecimalFormat" type="XPathDecimalFormat">
-		<comment>
-			<description>This is an XPath specific implementation of DecimalFormat to handle
- some of the xpath specific formatting requirements.   Specifically
- it allows for E# to be represented to indicate that the exponent value
- is optional.  Otherwise all existing DecimalFormat patterns are handled
- as is.</description>
-			<attribute name="@author">
-				<description>dcarver</description>
-			</attribute>
-			<attribute name="@see">
-				<description>1.1</description>
-			</attribute>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XPathDecimalFormat">
-				<params>
-					<param name="pattern" fulltype="java.lang.String" type="String" />
-				</params>
-			</constructor>
-			<method visibility="public" name="xpathFormat" returncomment="" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Formats the string dropping a Zero Exponent Value if it exists.</description>
-					<attribute name="@param">
-						<description>obj</description>
-					</attribute>
-					<attribute name="@return" />
-				</comment>
-				<params>
-					<param name="obj" comment="" fulltype="java.lang.Object" type="Object" />
-				</params>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI" type="XSAnyURI">
-		<comment>
-			<description>Represents a Universal Resource Identifier (URI) reference</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XSAnyURI">
-				<comment>
-					<description>Arity 1 Constructor</description>
-					<attribute name="@param">
-						<description>x
-            String representation of the URI</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="String representation of the URI" fulltype="java.lang.String" type="String" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSAnyURI">
-				<comment>
-					<description>Arity 0 Constructor. Initiates URI to null.</description>
-				</comment>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:anyURI&quot;, the full type pathname of this datatype" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieve full type pathname of this datatype</description>
-					<attribute name="@return">
-						<description>&quot;xs:anyURI&quot;, the full type pathname of this datatype</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;anyURI&quot;, the type name of this datatype" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieve type name of this datatype</description>
-					<attribute name="@return">
-						<description>&quot;anyURI&quot;, the type name of this datatype</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="the URI value held by this instance of the URI datatype as a
-         String" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Transforms and retrieves the URI value of this URI datatype in String
- format</description>
-					<attribute name="@return">
-						<description>the URI value held by this instance of the URI datatype as a
-         String</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="constructor" returncomment="new result sequence consisting of the URI supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creation of a result sequence consisting of a URI from a previous result
- sequence.</description>
-					<attribute name="@param">
-						<description>arg
-            previous result sequence</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-					<attribute name="@return">
-						<description>new result sequence consisting of the URI supplied</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="previous result sequence" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="eq" returncomment="True if the two representation are of the same String. False
-         otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Equality comparison between this and the supplied representation which
- must be of type xs:anyURI (or, by promotion of this, xs:string)</description>
-					<attribute name="@param">
-						<description>arg
-            The representation to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the two representation are of the same String. False
-         otherwise</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The representation to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="gt" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Greater than comparison between this and the supplied representation which
- must be of type xs:anyURI (or, by promotion of this, xs:string)</description>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="lt" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Less than comparison between this and the supplied representation which
- must be of type xs:anyURI (or, by promotion of this, xs:string)</description>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSBase64Binary" type="XSBase64Binary">
-		<comment>
-			<description>A representation of the base64Binary datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XSBase64Binary">
-				<comment>
-					<description>Initialises using the supplied String</description>
-					<attribute name="@param">
-						<description>x
-            The String to initialise to</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="The String to initialise to" fulltype="java.lang.String" type="String" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSBase64Binary">
-				<comment>
-					<description>Initialises to null</description>
-				</comment>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:base64Binary&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:base64Binary&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;base64Binary&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;base64Binary&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="The base64Binary stored" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the base64Binary stored. This method is
- functionally identical to value()</description>
-					<attribute name="@return">
-						<description>The base64Binary stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="value" returncomment="The base64Binary stored" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the base64Binary stored. This method is
- functionally identical to string_value()</description>
-					<attribute name="@return">
-						<description>The base64Binary stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence representing base64Binary value" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the base64Binary value</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which to construct base64Binary value</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence representing base64Binary value</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which to construct base64Binary value" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="eq" returncomment="True if the two representation are same. False otherwise." fulltype="boolean" type="boolean">
-				<comment>
-					<description>Equality comparison between this and the supplied representation which
- must be of type base64Binary</description>
-					<attribute name="@param">
-						<description>arg
-            The representation to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the two representation are same. False otherwise.</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The representation to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean" type="XSBoolean">
-		<comment>
-			<description>A representation of a true or a false value.</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XSBoolean">
-				<comment>
-					<description>Initiates the new representation to the boolean supplied</description>
-					<attribute name="@param">
-						<description>x
-       Initializes this datatype to represent this boolean</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="Initializes this datatype to represent this boolean" fulltype="boolean" type="boolean" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSBoolean">
-				<comment>
-					<description>Initiates to a default representation of false.</description>
-				</comment>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:boolean&quot;, the full datatype pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieve the full type pathname of this datatype</description>
-					<attribute name="@return">
-						<description>&quot;xs:boolean&quot;, the full datatype pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;boolean&quot;, which is the datatype name." fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieve the datatype name</description>
-					<attribute name="@return">
-						<description>&quot;boolean&quot;, which is the datatype name.</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="the String representation of the boolean value stored" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieve the String representation of the boolean value stored</description>
-					<attribute name="@return">
-						<description>the String representation of the boolean value stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="value" returncomment="the actual boolean value stored" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Retrieves the actual boolean value stored</description>
-					<attribute name="@return">
-						<description>the actual boolean value stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="constructor" returncomment="A new result sequence consisting of the boolean value supplied." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new result sequence consisting of the retrievable boolean value
- in the supplied result sequence</description>
-					<attribute name="@param">
-						<description>arg
-            The result sequence from which to extract the boolean value.</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A new result sequence consisting of the boolean value supplied.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The result sequence from which to extract the boolean value." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="eq" returncomment="New XSBoolean representation of true/false result of the equality
-         comparison" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Comparison for equality between the supplied and this boolean
- representation. Returns true if both represent same boolean value, false
- otherwise</description>
-					<attribute name="@param">
-						<description>arg
-            The XSBoolean representation of the boolean value to compare
-            with.</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New XSBoolean representation of true/false result of the equality
-         comparison</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The XSBoolean representation of the boolean value to compare
-            with." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="gt" returncomment="New XSBoolean representation of true/false result of the
-         comparison" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Comparison between the supplied and this boolean representation. Returns
- true if this XSBoolean represents true and that XSBoolean supplied
- represents false. Returns false otherwise</description>
-					<attribute name="@param">
-						<description>arg
-            The XSBoolean representation of the boolean value to compare
-            with.</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New XSBoolean representation of true/false result of the
-         comparison</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The XSBoolean representation of the boolean value to compare
-            with." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="lt" returncomment="New XSBoolean representation of true/false result of the
-         comparison" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Comparison between the supplied and this boolean representation. Returns
- true if this XSBoolean represents false and that XSBoolean supplied
- represents true. Returns false otherwise</description>
-					<attribute name="@param">
-						<description>arg
-            The XSBoolean representation of the boolean value to compare
-            with.</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New XSBoolean representation of true/false result of the
-         comparison</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The XSBoolean representation of the boolean value to compare
-            with." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="XSShort" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSShort" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSByte" type="XSByte">
-		<methods>
-			<constructor visibility="public" name="XSByte">
-				<comment>
-					<description>Initializes a representation of 0</description>
-				</comment>
-			</constructor>
-			<constructor visibility="public" name="XSByte">
-				<comment>
-					<description>Initializes a representation of the supplied byte value</description>
-					<attribute name="@param">
-						<description>x
-            Byte to be stored</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="Byte to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
-				</params>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:byte&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:byte&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;byte&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;byte&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;byte&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable &apos;byte&apos; in the
- supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which the byte is to be extracted</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the &apos;byte&apos; supplied</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which the byte is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate" type="XSDate">
-		<implements>
-			<interface fulltype="java.lang.Cloneable" type="Cloneable" />
-		</implements>
-		<comment>
-			<description>Representation of a date of the form year-month-day and optional timezone</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XSDate">
-				<comment>
-					<description>Initializes a new representation of a supplied date</description>
-					<attribute name="@param">
-						<description>cal
-            The Calendar representation of the date to be stored</description>
-					</attribute>
-					<attribute name="@param">
-						<description>tz
-            The time zone of the date to be stored.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="cal" comment="The Calendar representation of the date to be stored" fulltype="java.util.Calendar" type="Calendar" />
-					<param name="tz" comment="The time zone of the date to be stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSDate">
-				<comment>
-					<description>Initializes a new representation of the current date</description>
-				</comment>
-			</constructor>
-			<method visibility="public" name="type_name" returncomment="&quot;date&quot; which is the dataype name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype name</description>
-					<attribute name="@return">
-						<description>&quot;date&quot; which is the dataype name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="clone" returncomment="A copy of this date representation" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Creates a copy of this date representation</description>
-					<attribute name="@return">
-						<description>A copy of this date representation</description>
-					</attribute>
-				</comment>
-				<exceptions>
-					<exception fulltype="java.lang.CloneNotSupportedException" type="CloneNotSupportedException" />
-				</exceptions>
-			</method>
-			<method static="true" visibility="public" name="parse_date" returncomment="The XSDate representation of the supplied date" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate" type="XSDate">
-				<comment>
-					<description>Parses a String representation of a date (of the form year-month-day or
- year-month-day+timezone) and constructs a new XSDate representation of
- it.</description>
-					<attribute name="@param">
-						<description>str
-            The String representation of the date (and optional timezone)</description>
-					</attribute>
-					<attribute name="@return">
-						<description>The XSDate representation of the supplied date</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="str" comment="The String representation of the date (and optional timezone)" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method visibility="public" name="constructor" returncomment="A new result sequence consisting of the date value supplied." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new result sequence consisting of the retrievable date value in
- the supplied result sequence</description>
-					<attribute name="@param">
-						<description>arg
-            The result sequence from which to extract the date value.</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A new result sequence consisting of the date value supplied.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The result sequence from which to extract the date value." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="year" returncomment="the year value of the date stored" fulltype="int" type="int">
-				<comment>
-					<description>Retrieve the year from the date stored</description>
-					<attribute name="@return">
-						<description>the year value of the date stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="month" returncomment="the month value of the date stored" fulltype="int" type="int">
-				<comment>
-					<description>Retrieve the month from the date stored</description>
-					<attribute name="@return">
-						<description>the month value of the date stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="day" returncomment="the day value of the date stored" fulltype="int" type="int">
-				<comment>
-					<description>Retrieve the day from the date stored</description>
-					<attribute name="@return">
-						<description>the day value of the date stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="timezoned" returncomment="True if there is a timezone associated with this date. False
-         otherwise." fulltype="boolean" type="boolean">
-				<comment>
-					<description>Retrieves whether this date has an optional timezone associated with it</description>
-					<attribute name="@return">
-						<description>True if there is a timezone associated with this date. False
-         otherwise.</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="String representation of the date stored" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the date stored</description>
-					<attribute name="@return">
-						<description>String representation of the date stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:date&quot; which is the datatype full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrive the datatype full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:date&quot; which is the datatype full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="calendar" returncomment="Calendar representation of the date stored" fulltype="java.util.Calendar" type="Calendar">
-				<comment>
-					<description>Retrieves the Calendar representation of the date stored</description>
-					<attribute name="@return">
-						<description>Calendar representation of the date stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="tz" returncomment="the timezone associated with the date stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
-				<comment>
-					<description>Retrieves the timezone associated with the date stored</description>
-					<attribute name="@return">
-						<description>the timezone associated with the date stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="eq" returncomment="True if the two dates are represent the same exact point in time.
-         False otherwise." fulltype="boolean" type="boolean">
-				<comment>
-					<description>Equality comparison on this and the supplied dates (taking timezones into
- account)</description>
-					<attribute name="@param">
-						<description>arg
-            XSDate representation of the date to compare to</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the two dates are represent the same exact point in time.
-         False otherwise.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="XSDate representation of the date to compare to" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="lt" returncomment="True if in time, this date lies before the date supplied. False
-         otherwise." fulltype="boolean" type="boolean">
-				<comment>
-					<description>Comparison on this and the supplied dates (taking timezones into account)</description>
-					<attribute name="@param">
-						<description>arg
-            XSDate representation of the date to compare to</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if in time, this date lies before the date supplied. False
-         otherwise.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="XSDate representation of the date to compare to" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="gt" returncomment="True if in time, this date lies after the date supplied. False
-         otherwise." fulltype="boolean" type="boolean">
-				<comment>
-					<description>Comparison on this and the supplied dates (taking timezones into account)</description>
-					<attribute name="@param">
-						<description>arg
-            XSDate representation of the date to compare to</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if in time, this date lies after the date supplied. False
-         otherwise.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="XSDate representation of the date to compare to" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="value" returncomment="Number of milliseconds since the begining of the epoch" fulltype="double" type="double">
-				<comment>
-					<description>Currently unsupported method. Retrieves the date in milliseconds since
- the begining of epoch</description>
-					<attribute name="@return">
-						<description>Number of milliseconds since the begining of the epoch</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="minus" returncomment="New ResultSequence consisting of the result of the mathematical
-         minus operation." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical minus operator between this XSDate and a supplied result
- sequence (XSDate, XDTYearMonthDuration and XDTDayTimeDuration are only
- valid ones).</description>
-					<attribute name="@param">
-						<description>arg
-            The supplied ResultSequence that is on the right of the minus
-            operator. If this is an XSDate, the result will be a
-            XDTDayTimeDuration of the duration of time between these two
-            dates. If arg is an XDTYearMonthDuration or an
-            XDTDayTimeDuration the result will be a XSDate of the result
-            of the current date minus the duration of time supplied.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the result of the mathematical
-         minus operation.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The supplied ResultSequence that is on the right of the minus
-            operator. If this is an XSDate, the result will be a
-            XDTDayTimeDuration of the duration of time between these two
-            dates. If arg is an XDTYearMonthDuration or an
-            XDTDayTimeDuration the result will be a XSDate of the result
-            of the current date minus the duration of time supplied." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="plus" returncomment="New ResultSequence consisting of the result of the mathematical
-         minus operation." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical addition operator between this XSDate and a supplied result
- sequence (XDTYearMonthDuration and XDTDayTimeDuration are only valid
- ones).</description>
-					<attribute name="@param">
-						<description>arg
-            The supplied ResultSequence that is on the right of the minus
-            operator. If arg is an XDTYearMonthDuration or an
-            XDTDayTimeDuration the result will be a XSDate of the result
-            of the current date minus the duration of time supplied.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the result of the mathematical
-         minus operation.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The supplied ResultSequence that is on the right of the minus
-            operator. If arg is an XDTYearMonthDuration or an
-            XDTDayTimeDuration the result will be a XSDate of the result
-            of the current date minus the duration of time supplied." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime" type="XSDateTime">
-		<implements>
-			<interface fulltype="java.lang.Cloneable" type="Cloneable" />
-		</implements>
-		<comment>
-			<description>A representation of a date and time (and optional timezone)</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XSDateTime">
-				<comment>
-					<description>Initiates a new representation of a supplied date and time</description>
-					<attribute name="@param">
-						<description>cal
-            The Calendar representation of the date and time to be stored</description>
-					</attribute>
-					<attribute name="@param">
-						<description>tz
-            The timezone of the date to be stored.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="cal" comment="The Calendar representation of the date and time to be stored" fulltype="java.util.Calendar" type="Calendar" />
-					<param name="tz" comment="The timezone of the date to be stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSDateTime">
-				<comment>
-					<description>Inititates a new representation of the current date and time</description>
-				</comment>
-			</constructor>
-			<method visibility="public" name="clone" returncomment="A copy of this date and time representation" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Creates a copy of this date and time representation</description>
-					<attribute name="@return">
-						<description>A copy of this date and time representation</description>
-					</attribute>
-				</comment>
-				<exceptions>
-					<exception fulltype="java.lang.CloneNotSupportedException" type="CloneNotSupportedException" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;dateTime&quot; which is the dataype name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype name</description>
-					<attribute name="@return">
-						<description>&quot;dateTime&quot; which is the dataype name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method static="true" visibility="public" name="is_digit" returncomment="True if the character is numeric. False otherwise." fulltype="boolean" type="boolean">
-				<comment>
-					<description>Check to see if a character is numeric</description>
-					<attribute name="@param">
-						<description>x
-            Character to be tested</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the character is numeric. False otherwise.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="Character to be tested" fulltype="char" type="char" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="parse_date" returncomment="Integer array of size 3. Element 1 is the year, element 2 is the
-         month and element 3 is the day" fulltype="int[]" type="int">
-				<comment>
-					<description>Parses a String representation of a date and time and retrieves the year,
- month and day from it</description>
-					<attribute name="@param">
-						<description>str
-            The String representation of the date (and optional timezone)</description>
-					</attribute>
-					<attribute name="@return">
-						<description>Integer array of size 3. Element 1 is the year, element 2 is the
-         month and element 3 is the day</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="str" comment="The String representation of the date (and optional timezone)" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="parse_time" returncomment="Integer array of size 3. Element 1 is the hour, element 2 is the
-         minute and element 3 is the seconds" fulltype="double[]" type="double">
-				<comment>
-					<description>Parses a String representation of a date and time and retrieves the hour,
- minute and seconds from it</description>
-					<attribute name="@param">
-						<description>str
-            The String representation of the date (and optional timezone)</description>
-					</attribute>
-					<attribute name="@return">
-						<description>Integer array of size 3. Element 1 is the hour, element 2 is the
-         minute and element 3 is the seconds</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="str" comment="The String representation of the date (and optional timezone)" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="parse_timezone" returncomment="Integer array of size 3. Element 1 represents whether the
-         timezone is ahead or behind GMT, element 2 is the hour
-         displacement and element 3 is the minute displacement." fulltype="int[]" type="int">
-				<comment>
-					<description>Parses a String representation of a date and time and retrieves the
- timezone from it</description>
-					<attribute name="@param">
-						<description>str
-            The String representation of the date (and optional timezone)</description>
-					</attribute>
-					<attribute name="@return">
-						<description>Integer array of size 3. Element 1 represents whether the
-         timezone is ahead or behind GMT, element 2 is the hour
-         displacement and element 3 is the minute displacement.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="str" comment="The String representation of the date (and optional timezone)" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method static="true" visibility="public" name="parseDateTime" returncomment="The XSDateTime representation of the date and time (and optional
-         timezone)" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime" type="XSDateTime">
-				<comment>
-					<description>Parses a String representation of a date and time and constructs a new
- XSDateTime object using that information</description>
-					<attribute name="@param">
-						<description>str
-            The String representation of the date (and optional timezone)</description>
-					</attribute>
-					<attribute name="@return">
-						<description>The XSDateTime representation of the date and time (and optional
-         timezone)</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="str" comment="The String representation of the date (and optional timezone)" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method visibility="public" name="constructor" returncomment="A new result sequence consisting of the date and time value
-         supplied." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new result sequence consisting of the retrievable date and time
- value in the supplied result sequence</description>
-					<attribute name="@param">
-						<description>arg
-            The result sequence from which to extract the date and time
-            value.</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A new result sequence consisting of the date and time value
-         supplied.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The result sequence from which to extract the date and time
-            value." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="year" returncomment="the year value of the date stored" fulltype="int" type="int">
-				<comment>
-					<description>Retrieve the year from the date stored</description>
-					<attribute name="@return">
-						<description>the year value of the date stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="month" returncomment="the month value of the date stored" fulltype="int" type="int">
-				<comment>
-					<description>Retrieve the month from the date stored</description>
-					<attribute name="@return">
-						<description>the month value of the date stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="day" returncomment="the day value of the date stored" fulltype="int" type="int">
-				<comment>
-					<description>Retrieve the day from the date stored</description>
-					<attribute name="@return">
-						<description>the day value of the date stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="hour" returncomment="the hour value of the date stored" fulltype="int" type="int">
-				<comment>
-					<description>Retrieve the hour from the date stored</description>
-					<attribute name="@return">
-						<description>the hour value of the date stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="minute" returncomment="the minute value of the date stored" fulltype="int" type="int">
-				<comment>
-					<description>Retrieve the minute from the date stored</description>
-					<attribute name="@return">
-						<description>the minute value of the date stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="second" returncomment="the seconds value of the date stored" fulltype="double" type="double">
-				<comment>
-					<description>Retrieve the seconds from the date stored</description>
-					<attribute name="@return">
-						<description>the seconds value of the date stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="timezoned" fulltype="boolean" type="boolean" />
-			<method static="true" visibility="public" name="pad_int" returncomment="String representation of the padded integer" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Pads the supplied number to the supplied number of digits by adding 0&apos;s
- in front of it</description>
-					<attribute name="@param">
-						<description>num
-            Number that si to be padded (if neccessay)</description>
-					</attribute>
-					<attribute name="@param">
-						<description>len
-            Desired length after padding</description>
-					</attribute>
-					<attribute name="@return">
-						<description>String representation of the padded integer</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="num" comment="Number that si to be padded (if neccessay)" fulltype="int" type="int" />
-					<param name="len" comment="Desired length after padding" fulltype="int" type="int" />
-				</params>
-			</method>
-			<method visibility="public" name="string_value" returncomment="String representation of the date and time stored" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the date and time stored</description>
-					<attribute name="@return">
-						<description>String representation of the date and time stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:dateTime&quot; which is the datatype full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrive the datatype full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:dateTime&quot; which is the datatype full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="calendar" returncomment="Calendar representation of the date stored" fulltype="java.util.Calendar" type="Calendar">
-				<comment>
-					<description>Retrieves the Calendar representation of the date stored</description>
-					<attribute name="@return">
-						<description>Calendar representation of the date stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="eq" returncomment="True if the two dates and times are represent the same exact
-         point in time. False otherwise." fulltype="boolean" type="boolean">
-				<comment>
-					<description>Equality comparison on this and the supplied dates and times (taking
- timezones into account)</description>
-					<attribute name="@param">
-						<description>arg
-            XSDateTime representation of the date to compare to</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the two dates and times are represent the same exact
-         point in time. False otherwise.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="XSDateTime representation of the date to compare to" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="lt" returncomment="True if in time, this date and time lies before the date and time
-         supplied. False otherwise." fulltype="boolean" type="boolean">
-				<comment>
-					<description>Comparison on this and the supplied dates and times (taking timezones
- into account)</description>
-					<attribute name="@param">
-						<description>arg
-            XSDateTime representation of the date to compare to</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if in time, this date and time lies before the date and time
-         supplied. False otherwise.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="XSDateTime representation of the date to compare to" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="gt" returncomment="True if in time, this date and time lies after the date and time
-         supplied. False otherwise." fulltype="boolean" type="boolean">
-				<comment>
-					<description>Comparison on this and the supplied dates and times (taking timezones
- into account)</description>
-					<attribute name="@param">
-						<description>arg
-            XSDateTime representation of the date to compare to</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if in time, this date and time lies after the date and time
-         supplied. False otherwise.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="XSDateTime representation of the date to compare to" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="tz" returncomment="the timezone associated with the date stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
-				<comment>
-					<description>Retrieves the timezone associated with the date stored</description>
-					<attribute name="@return">
-						<description>the timezone associated with the date stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="value" returncomment="Number of milliseconds since the begining of the epoch" fulltype="double" type="double">
-				<comment>
-					<description>Currently unsupported method. Retrieves the date in milliseconds since
- the begining of epoch</description>
-					<attribute name="@return">
-						<description>Number of milliseconds since the begining of the epoch</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="minus" returncomment="New ResultSequence consisting of the result of the mathematical
-         minus operation." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical minus operator between this XSDateTime and a supplied result
- sequence (XSDateTime, XDTYearMonthDuration and XDTDayTimeDuration are
- only valid ones).</description>
-					<attribute name="@param">
-						<description>arg
-            The supplied ResultSequence that is on the right of the minus
-            operator. If this is an XSDateTime, the result will be a
-            XDTDayTimeDuration of the duration of time between these two
-            dates. If arg is an XDTYearMonthDuration or an
-            XDTDayTimeDuration the result will be a XSDateTime of the
-            result of the current date minus the duration of time
-            supplied.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the result of the mathematical
-         minus operation.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The supplied ResultSequence that is on the right of the minus
-            operator. If this is an XSDateTime, the result will be a
-            XDTDayTimeDuration of the duration of time between these two
-            dates. If arg is an XDTYearMonthDuration or an
-            XDTDayTimeDuration the result will be a XSDateTime of the
-            result of the current date minus the duration of time
-            supplied." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="plus" returncomment="New ResultSequence consisting of the result of the mathematical
-         minus operation." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical addition operator between this XSDateTime and a supplied
- result sequence (XDTYearMonthDuration and XDTDayTimeDuration are only
- valid ones).</description>
-					<attribute name="@param">
-						<description>arg
-            The supplied ResultSequence that is on the right of the minus
-            operator. If arg is an XDTYearMonthDuration or an
-            XDTDayTimeDuration the result will be a XSDateTime of the
-            result of the current date minus the duration of time
-            supplied.</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the result of the mathematical
-         minus operation.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The supplied ResultSequence that is on the right of the minus
-            operator. If arg is an XDTYearMonthDuration or an
-            XDTDayTimeDuration the result will be a XSDateTime of the
-            result of the current date minus the duration of time
-            supplied." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="XSDuration" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDayTimeDuration" type="XSDayTimeDuration">
-		<implements>
-			<interface fulltype="java.lang.Cloneable" type="Cloneable" />
-		</implements>
-		<comment>
-			<description>A representation of the DayTimeDuration datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XSDayTimeDuration">
-				<comment>
-					<description>Initialises to the supplied parameters. If more than 24 hours is
- supplied, the number of days is adjusted acordingly. The same occurs for
- minutes and seconds</description>
-					<attribute name="@param">
-						<description>days
-            Number of days in this duration of time</description>
-					</attribute>
-					<attribute name="@param">
-						<description>hours
-            Number of hours in this duration of time</description>
-					</attribute>
-					<attribute name="@param">
-						<description>minutes
-            Number of minutes in this duration of time</description>
-					</attribute>
-					<attribute name="@param">
-						<description>seconds
-            Number of seconds in this duration of time</description>
-					</attribute>
-					<attribute name="@param">
-						<description>negative
-            True if this duration of time represents a backwards passage
-            through time. False otherwise</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="days" comment="Number of days in this duration of time" fulltype="int" type="int" />
-					<param name="hours" comment="Number of hours in this duration of time" fulltype="int" type="int" />
-					<param name="minutes" comment="Number of minutes in this duration of time" fulltype="int" type="int" />
-					<param name="seconds" comment="Number of seconds in this duration of time" fulltype="double" type="double" />
-					<param name="negative" comment="True if this duration of time represents a backwards passage
-            through time. False otherwise" fulltype="boolean" type="boolean" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSDayTimeDuration">
-				<comment>
-					<description>Initialises to the given number of seconds</description>
-					<attribute name="@param">
-						<description>secs
-            Number of seconds in the duration of time</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="secs" comment="Number of seconds in the duration of time" fulltype="double" type="double" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSDayTimeDuration">
-				<comment>
-					<description>Initialises to a duration of no time (0days, 0hours, 0minutes, 0seconds)</description>
-				</comment>
-			</constructor>
-			<method visibility="public" name="clone" returncomment="New XSDayTimeDuration representing the duration of time stored" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Creates a copy of this representation of a time duration</description>
-					<attribute name="@return">
-						<description>New XSDayTimeDuration representing the duration of time stored</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>CloneNotSupportedException</description>
-					</attribute>
-				</comment>
-				<exceptions>
-					<exception comment="" fulltype="java.lang.CloneNotSupportedException" type="CloneNotSupportedException" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="constructor" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<params>
-					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method static="true" visibility="public" name="parseDTDuration" returncomment="New XSDayTimeDuration representing the duration of time supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
-				<comment>
-					<description>Creates a new XSDayTimeDuration by parsing the supplied String
- represented duration of time</description>
-					<attribute name="@param">
-						<description>str
-            String represented duration of time</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New XSDayTimeDuration representing the duration of time supplied</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="str" comment="String represented duration of time" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;dayTimeDuration&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrives the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;dayTimeDuration&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:dayTimeDuration&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:dayTimeDuration&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="plus" returncomment="New XSDayTimeDuration representing the resulting duration after
-         the addition" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical addition between this duration stored and the supplied
- duration of time (of type XSDayTimeDuration)</description>
-					<attribute name="@param">
-						<description>arg
-            The duration of time to add</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New XSDayTimeDuration representing the resulting duration after
-         the addition</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The duration of time to add" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="minus" returncomment="New XSDayTimeDuration representing the resulting duration after
-         the subtraction" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical subtraction between this duration stored and the supplied
- duration of time (of type XSDayTimeDuration)</description>
-					<attribute name="@param">
-						<description>arg
-            The duration of time to subtract</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New XSDayTimeDuration representing the resulting duration after
-         the subtraction</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The duration of time to subtract" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="times" returncomment="New XSDayTimeDuration representing the resulting duration after
-         the multiplication" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical multiplication between this duration stored and the supplied
- duration of time (of type XSDayTimeDuration)</description>
-					<attribute name="@param">
-						<description>arg
-            The duration of time to multiply by</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New XSDayTimeDuration representing the resulting duration after
-         the multiplication</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The duration of time to multiply by" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="div" returncomment="New XSDayTimeDuration representing the resulting duration after
-         the division" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical division between this duration stored and the supplied
- duration of time (of type XSDayTimeDuration)</description>
-					<attribute name="@param">
-						<description>arg
-            The duration of time to divide by</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New XSDayTimeDuration representing the resulting duration after
-         the division</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The duration of time to divide by" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="NumericType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal" type="XSDecimal">
-		<comment>
-			<description>A representation of the Decimal datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XSDecimal">
-				<comment>
-					<description>Initiates a representation of 0.0</description>
-				</comment>
-			</constructor>
-			<constructor visibility="public" name="XSDecimal">
-				<comment>
-					<description>Initiates a representation of the supplied number</description>
-					<attribute name="@param">
-						<description>x
-            Number to be stored</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="Number to be stored" fulltype="java.math.BigDecimal" type="BigDecimal" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSDecimal">
-				<params>
-					<param name="x" fulltype="java.lang.String" type="String" />
-				</params>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:decimal&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:decimal&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;decimal&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;decimal&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="String representation of the Decimal value stored" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the Decimal value stored</description>
-					<attribute name="@return">
-						<description>String representation of the Decimal value stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="zero" returncomment="True if this XSDecimal represents 0. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Check if this XSDecimal represents 0</description>
-					<attribute name="@return">
-						<description>True if this XSDecimal represents 0. False otherwise</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="constructor" returncomment="A new result sequence consisting of the decimal number supplied." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new result sequence consisting of the retrievable decimal
- number in the supplied result sequence</description>
-					<attribute name="@param">
-						<description>arg
-            The result sequence from which to extract the decimal number.</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A new result sequence consisting of the decimal number supplied.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The result sequence from which to extract the decimal number." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="double_value" returncomment="The actual value of the number stored" fulltype="double" type="double">
-				<comment>
-					<description>Retrieves the actual value of the number stored</description>
-					<attribute name="@return">
-						<description>The actual value of the number stored</description>
-					</attribute>
-					<attribute name="@deprecated">
-						<description>Use getValue() instead.</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="getValue" fulltype="java.math.BigDecimal" type="BigDecimal" />
-			<method visibility="public" name="set_double" fulltype="void" type="void">
-				<comment>
-					<description>Sets the number stored to that supplied</description>
-					<attribute name="@param">
-						<description>x
-            Number to be stored</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="Number to be stored" fulltype="double" type="double" />
-				</params>
-			</method>
-			<method visibility="public" name="eq" returncomment="True if the 2 representation represent the same number. False
-         otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Equality comparison between this number and the supplied representation.</description>
-					<attribute name="@param">
-						<description>at
-            Representation to be compared with (must currently be of type
-            XSDecimal)</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the 2 representation represent the same number. False
-         otherwise</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="at" comment="Representation to be compared with (must currently be of type
-            XSDecimal)" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="gt" returncomment="True if the supplied type represents a number smaller than this
-         one stored. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Comparison between this number and the supplied representation.</description>
-					<attribute name="@param">
-						<description>arg
-            Representation to be compared with (must currently be of type
-            XSDecimal)</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the supplied type represents a number smaller than this
-         one stored. False otherwise</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="Representation to be compared with (must currently be of type
-            XSDecimal)" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="protected" name="convertArg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
-				<params>
-					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="lt" returncomment="True if the supplied type represents a number greater than this
-         one stored. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Comparison between this number and the supplied representation.</description>
-					<attribute name="@param">
-						<description>arg
-            Representation to be compared with (must currently be of type
-            XSDecimal)</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the supplied type represents a number greater than this
-         one stored. False otherwise</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="Representation to be compared with (must currently be of type
-            XSDecimal)" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="plus" returncomment="A XSDecimal consisting of the result of the mathematical
-         addition." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical addition operator between this XSDecimal and the supplied
- ResultSequence. Due to no numeric type promotion or conversion, the
- ResultSequence must be of type XSDecimal.</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence to perform an addition with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSDecimal consisting of the result of the mathematical
-         addition.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence to perform an addition with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="minus" returncomment="A XSDecimal consisting of the result of the mathematical
-         subtraction." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical subtraction operator between this XSDecimal and the supplied
- ResultSequence.</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence to perform a subtraction with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSDecimal consisting of the result of the mathematical
-         subtraction.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence to perform a subtraction with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="times" returncomment="A XSDecimal consisting of the result of the mathematical
-         multiplication." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical multiplication operator between this XSDecimal and the
- supplied ResultSequence.</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence to perform a multiplication with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSDecimal consisting of the result of the mathematical
-         multiplication.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence to perform a multiplication with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="div" returncomment="A XSDecimal consisting of the result of the mathematical
-         division." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical division operator between this XSDecimal and the supplied
- ResultSequence.</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence to perform a division with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSDecimal consisting of the result of the mathematical
-         division.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence to perform a division with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="idiv" returncomment="A XSInteger consisting of the result of the mathematical integer
-         division." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical integer division operator between this XSDecimal and the
- supplied ResultSequence. Due to no numeric type promotion or conversion,
- the ResultSequence must be of type XSDecimal.</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence to perform an integer division with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSInteger consisting of the result of the mathematical integer
-         division.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence to perform an integer division with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="mod" returncomment="A XSDecimal consisting of the result of the mathematical modulus." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical modulus operator between this XSDecimal and the supplied
- ResultSequence. Due to no numeric type promotion or conversion, the
- ResultSequence must be of type XSDecimal.</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence to perform a modulus with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSDecimal consisting of the result of the mathematical modulus.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence to perform a modulus with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="unary_minus" returncomment="A XSDecimal representing the negation of this XSDecimal" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Negation of the number stored</description>
-					<attribute name="@return">
-						<description>A XSDecimal representing the negation of this XSDecimal</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="abs" returncomment="A XSDecimal representing the absolute value of the number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Absolutes the number stored</description>
-					<attribute name="@return">
-						<description>A XSDecimal representing the absolute value of the number stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="ceiling" returncomment="A XSDecimal representing the smallest integer greater than the
-         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Returns the smallest integer greater than the number stored</description>
-					<attribute name="@return">
-						<description>A XSDecimal representing the smallest integer greater than the
-         number stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="floor" returncomment="A XSDecimal representing the largest integer smaller than the
-         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Returns the largest integer smaller than the number stored</description>
-					<attribute name="@return">
-						<description>A XSDecimal representing the largest integer smaller than the
-         number stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="round" returncomment="A XSDecimal representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Returns the closest integer of the number stored.</description>
-					<attribute name="@return">
-						<description>A XSDecimal representing the closest long of the number stored.</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="round_half_to_even" returncomment="A XSDecimal representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Returns the closest integer of the number stored.</description>
-					<attribute name="@return">
-						<description>A XSDecimal representing the closest long of the number stored.</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="round_half_to_even" returncomment="A XSDecimal representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Returns the closest integer of the number stored with the specified precision.</description>
-					<attribute name="@param">
-						<description>precision An integer precision</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSDecimal representing the closest long of the number stored.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="precision" comment="An integer precision" fulltype="int" type="int" />
-				</params>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="NumericType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble" type="XSDouble">
-		<comment>
-			<description>A representation of the Double datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XSDouble">
-				<comment>
-					<description>Initialises a representation of the supplied number</description>
-					<attribute name="@param">
-						<description>x
-            Number to be stored</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="Number to be stored" fulltype="double" type="double" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSDouble">
-				<comment>
-					<description>Initializes a representation of 0</description>
-				</comment>
-			</constructor>
-			<constructor visibility="public" name="XSDouble">
-				<comment>
-					<description>Initialises using a String represented number</description>
-					<attribute name="@param">
-						<description>init
-            String representation of the number to be stored</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="init" comment="String representation of the number to be stored" fulltype="java.lang.String" type="String" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</constructor>
-			<method static="true" visibility="public" name="parse_double" returncomment="New XSDouble representing the number supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble" type="XSDouble">
-				<comment>
-					<description>Creates a new representation of the String represented number</description>
-					<attribute name="@param">
-						<description>i
-            String representation of the number to be stored</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New XSDouble representing the number supplied</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="i" comment="String representation of the number to be stored" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method visibility="public" name="constructor" returncomment="A new result sequence consisting of the double number supplied." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new result sequence consisting of the retrievable double number
- in the supplied result sequence</description>
-					<attribute name="@param">
-						<description>arg
-            The result sequence from which to extract the double number.</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A new result sequence consisting of the double number supplied.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The result sequence from which to extract the double number." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:double&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:double&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;double&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;double&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="String representation of the Decimal value stored" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the Decimal value stored</description>
-					<attribute name="@return">
-						<description>String representation of the Decimal value stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="nan" returncomment="True if this XSDouble represents NaN. False otherwise." fulltype="boolean" type="boolean">
-				<comment>
-					<description>Check for whether this XSDouble represents NaN</description>
-					<attribute name="@return">
-						<description>True if this XSDouble represents NaN. False otherwise.</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="infinite" returncomment="True if this XSDouble represents infinity. False otherwise." fulltype="boolean" type="boolean">
-				<comment>
-					<description>Check for whether this XSDouble represents an infinite number (negative or positive)</description>
-					<attribute name="@return">
-						<description>True if this XSDouble represents infinity. False otherwise.</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="zero" returncomment="True if this XSDouble represents 0. False otherwise." fulltype="boolean" type="boolean">
-				<comment>
-					<description>Check for whether this XSDouble represents 0</description>
-					<attribute name="@return">
-						<description>True if this XSDouble represents 0. False otherwise.</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="negativeZero" fulltype="boolean" type="boolean" />
-			<method visibility="public" name="double_value" returncomment="The actual value of the number stored" fulltype="double" type="double">
-				<comment>
-					<description>Retrieves the actual value of the number stored</description>
-					<attribute name="@return">
-						<description>The actual value of the number stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="eq" returncomment="True if the 2 representations represent the same number. False
-         otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Equality comparison between this number and the supplied representation.</description>
-					<attribute name="@param">
-						<description>aa
-            Representation to be compared with (must currently be of type
-            XSDouble)</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the 2 representations represent the same number. False
-         otherwise</description>
-					</attribute>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="aa" comment="Representation to be compared with (must currently be of type
-            XSDouble)" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="gt" returncomment="True if the supplied type represents a number smaller than this
-         one stored. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Comparison between this number and the supplied representation.</description>
-					<attribute name="@param">
-						<description>arg
-            Representation to be compared with (must currently be of type
-            XSDouble)</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the supplied type represents a number smaller than this
-         one stored. False otherwise</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="Representation to be compared with (must currently be of type
-            XSDouble)" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="protected" name="convertArg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
-				<params>
-					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="lt" returncomment="True if the supplied type represents a number greater than this
-         one stored. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Comparison between this number and the supplied representation. Currently
- no numeric type promotion exists so the supplied representation must be
- of type XSDouble.</description>
-					<attribute name="@param">
-						<description>arg
-            Representation to be compared with (must currently be of type
-            XSDouble)</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the supplied type represents a number greater than this
-         one stored. False otherwise</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="Representation to be compared with (must currently be of type
-            XSDouble)" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="plus" returncomment="A XSDouble consisting of the result of the mathematical addition." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical addition operator between this XSDouble and the supplied
- ResultSequence.</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence to perform an addition with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSDouble consisting of the result of the mathematical addition.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence to perform an addition with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="minus" returncomment="A XSDouble consisting of the result of the mathematical
-         subtraction." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical subtraction operator between this XSDouble and the supplied
- ResultSequence.</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence to perform an subtraction with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSDouble consisting of the result of the mathematical
-         subtraction.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence to perform an subtraction with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="times" returncomment="A XSDouble consisting of the result of the mathematical
-         multiplication." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical multiplication operator between this XSDouble and the
- supplied ResultSequence. Due to no numeric type promotion or conversion,
- the ResultSequence must be of type XSDouble.</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence to perform an multiplication with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSDouble consisting of the result of the mathematical
-         multiplication.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence to perform an multiplication with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="div" returncomment="A XSDouble consisting of the result of the mathematical division." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical division operator between this XSDouble and the supplied
- ResultSequence.</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence to perform an division with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSDouble consisting of the result of the mathematical division.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence to perform an division with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="idiv" returncomment="A XSInteger consisting of the result of the mathematical integer
-         division." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical integer division operator between this XSDouble and the
- supplied ResultSequence.</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence to perform an integer division with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSInteger consisting of the result of the mathematical integer
-         division.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence to perform an integer division with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="mod" returncomment="A XSDouble consisting of the result of the mathematical modulus." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical modulus operator between this XSDouble and the supplied
- ResultSequence.</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence to perform a modulus with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSDouble consisting of the result of the mathematical modulus.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence to perform a modulus with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="unary_minus" returncomment="A XSDouble representing the negation of this XSDecimal" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Negation of the number stored</description>
-					<attribute name="@return">
-						<description>A XSDouble representing the negation of this XSDecimal</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="abs" returncomment="A XSDouble representing the absolute value of the number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Absolutes the number stored</description>
-					<attribute name="@return">
-						<description>A XSDouble representing the absolute value of the number stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="ceiling" returncomment="A XSDouble representing the smallest integer greater than the
-         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Returns the smallest integer greater than the number stored</description>
-					<attribute name="@return">
-						<description>A XSDouble representing the smallest integer greater than the
-         number stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="floor" returncomment="A XSDouble representing the largest integer smaller than the
-         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Returns the largest integer smaller than the number stored</description>
-					<attribute name="@return">
-						<description>A XSDouble representing the largest integer smaller than the
-         number stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="round" returncomment="A XSDouble representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Returns the closest integer of the number stored.</description>
-					<attribute name="@return">
-						<description>A XSDouble representing the closest long of the number stored.</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="round_half_to_even" returncomment="A XSDouble representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Returns the closest integer of the number stored.</description>
-					<attribute name="@return">
-						<description>A XSDouble representing the closest long of the number stored.</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="round_half_to_even" returncomment="A XSDouble representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Returns the closest integer of the number stored with the specified
- precision.</description>
-					<attribute name="@param">
-						<description>precision
-            An integer precision</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSDouble representing the closest long of the number stored.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="precision" comment="An integer precision" fulltype="int" type="int" />
-				</params>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
-		<comment>
-			<description>A representation of the xs:duration data type. Other duration implementations
- should inherit from this implementation.</description>
-			<attribute name="@since">
-				<description>1.1 This used to be an abstract class but was incorrectly implemented
-        as such.</description>
-			</attribute>
-		</comment>
-		<fields>
-			<field visibility="protected" name="_year" fulltype="int" type="int" />
-			<field visibility="protected" name="_month" fulltype="int" type="int" />
-			<field visibility="protected" name="_days" fulltype="int" type="int" />
-			<field visibility="protected" name="_hours" fulltype="int" type="int" />
-			<field visibility="protected" name="_minutes" fulltype="int" type="int" />
-			<field visibility="protected" name="_seconds" fulltype="double" type="double" />
-			<field visibility="protected" name="_negative" fulltype="boolean" type="boolean" />
-		</fields>
-		<methods>
-			<constructor visibility="public" name="XSDuration">
-				<comment>
-					<description>Initializes to the supplied parameters. If more than 24 hours is
- supplied, the number of days is adjusted accordingly. The same occurs for
- minutes and seconds</description>
-					<attribute name="@param">
-						<description>years
-            Number of years in this duration of time.</description>
-					</attribute>
-					<attribute name="@param">
-						<description>months
-            Number of months in this duration of time.</description>
-					</attribute>
-					<attribute name="@param">
-						<description>days
-            Number of days in this duration of time</description>
-					</attribute>
-					<attribute name="@param">
-						<description>hours
-            Number of hours in this duration of time</description>
-					</attribute>
-					<attribute name="@param">
-						<description>minutes
-            Number of minutes in this duration of time</description>
-					</attribute>
-					<attribute name="@param">
-						<description>seconds
-            Number of seconds in this duration of time</description>
-					</attribute>
-					<attribute name="@param">
-						<description>negative
-            True if this duration of time represents a backwards passage
-            through time. False otherwise</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="years" comment="Number of years in this duration of time." fulltype="int" type="int" />
-					<param name="months" comment="Number of months in this duration of time." fulltype="int" type="int" />
-					<param name="days" comment="Number of days in this duration of time" fulltype="int" type="int" />
-					<param name="hours" comment="Number of hours in this duration of time" fulltype="int" type="int" />
-					<param name="minutes" comment="Number of minutes in this duration of time" fulltype="int" type="int" />
-					<param name="seconds" comment="Number of seconds in this duration of time" fulltype="double" type="double" />
-					<param name="negative" comment="True if this duration of time represents a backwards passage
-            through time. False otherwise" fulltype="boolean" type="boolean" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSDuration">
-				<comment>
-					<description>Initialises to the given number of seconds</description>
-					<attribute name="@param">
-						<description>secs
-            Number of seconds in the duration of time</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="secs" comment="Number of seconds in the duration of time" fulltype="double" type="double" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSDuration">
-				<comment>
-					<description>Initialises to a duration of no time (0days, 0hours, 0minutes, 0seconds)</description>
-				</comment>
-			</constructor>
-			<method visibility="public" name="type_name" fulltype="java.lang.String" type="String" />
-			<method visibility="public" name="string_type" fulltype="java.lang.String" type="String" />
-			<method visibility="public" name="string_value" returncomment="String representation of the duration stored" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the duration stored</description>
-					<attribute name="@return">
-						<description>String representation of the duration stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="days" returncomment="Number of days within the duration of time stored" fulltype="int" type="int">
-				<comment>
-					<description>Retrieves the number of days within the duration of time stored</description>
-					<attribute name="@return">
-						<description>Number of days within the duration of time stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="minutes" returncomment="Number of minutes within the duration of time stored" fulltype="int" type="int">
-				<comment>
-					<description>Retrieves the number of minutes (max 60) within the duration of time
- stored</description>
-					<attribute name="@return">
-						<description>Number of minutes within the duration of time stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="hours" returncomment="Number of hours within the duration of time stored" fulltype="int" type="int">
-				<comment>
-					<description>Retrieves the number of hours (max 24) within the duration of time stored</description>
-					<attribute name="@return">
-						<description>Number of hours within the duration of time stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="seconds" returncomment="Number of seconds within the duration of time stored" fulltype="double" type="double">
-				<comment>
-					<description>Retrieves the number of seconds (max 60) within the duration of time
- stored</description>
-					<attribute name="@return">
-						<description>Number of seconds within the duration of time stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="eq" returncomment="True if they both represent the duration of time. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Equality comparison between this and the supplied duration of time.</description>
-					<attribute name="@param">
-						<description>arg
-            The duration of time to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if they both represent the duration of time. False otherwise</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The duration of time to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="lt" returncomment="True if the supplied time represents a larger duration than that
-         stored. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Comparison between this and the supplied duration of time.</description>
-					<attribute name="@param">
-						<description>arg
-            The duration of time to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the supplied time represents a larger duration than that
-         stored. False otherwise</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The duration of time to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="gt" returncomment="True if the supplied time represents a smaller duration than that
-         stored. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Comparison between this and the supplied duration of time.</description>
-					<attribute name="@param">
-						<description>arg
-            The duration of time to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the supplied time represents a smaller duration than that
-         stored. False otherwise</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The duration of time to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="negative" returncomment="True if this duration represents a backward passage through time.
-         False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Retrieves whether this duration represents a backward passage through
- time</description>
-					<attribute name="@return">
-						<description>True if this duration represents a backward passage through time.
-         False otherwise</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="value" returncomment="Number of seconds making up this duration of time" fulltype="double" type="double">
-				<comment>
-					<description>Retrieves the duration of time stored as the number of seconds within it</description>
-					<attribute name="@return">
-						<description>Number of seconds making up this duration of time</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the time duration extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable time duration
- from the supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which to extract</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the time duration extracted</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which to extract" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method static="true" visibility="public" name="parseDTDuration" returncomment="New XSDayTimeDuration representing the duration of time supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
-				<comment>
-					<description>Creates a new XSDayTimeDuration by parsing the supplied String
- represented duration of time</description>
-					<attribute name="@param">
-						<description>str
-            String represented duration of time</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New XSDayTimeDuration representing the duration of time supplied</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="str" comment="String represented duration of time" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method visibility="public" name="clone" fulltype="java.lang.Object" type="Object">
-				<exceptions>
-					<exception fulltype="java.lang.CloneNotSupportedException" type="CloneNotSupportedException" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="year" returncomment="Number of years within the duration of time stored" fulltype="int" type="int">
-				<comment>
-					<description>Retrieves the number of years within the duration of time stored</description>
-					<attribute name="@return">
-						<description>Number of years within the duration of time stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="month" returncomment="Number of months within the duration of time stored" fulltype="int" type="int">
-				<comment>
-					<description>Retrieves the number of months within the duration of time stored</description>
-					<attribute name="@return">
-						<description>Number of months within the duration of time stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="protected" name="isCastable" fulltype="boolean" type="boolean">
-				<params>
-					<param name="aat" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType" type="AnyAtomicType" />
-				</params>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="XSNCName" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSEntity" type="XSEntity">
-		<comment>
-			<description>Built in Data Type for xs:Entity</description>
-			<attribute name="@author">
-				<description>dcarver</description>
-			</attribute>
-			<attribute name="@since">
-				<description>1.1</description>
-			</attribute>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XSEntity" />
-			<constructor visibility="public" name="XSEntity">
-				<params>
-					<param name="value" fulltype="java.lang.String" type="String" />
-				</params>
-			</constructor>
-			<method visibility="public" name="string_type" fulltype="java.lang.String" type="String" />
-			<method visibility="public" name="type_name" fulltype="java.lang.String" type="String" />
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the ENTITY supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the ENTITY within
- the supplied ResultSequence.  The specification says that this
- is relaxed from the XML Schema requirement.  The ENTITY does
- not have to be located or expanded during construction and
- evaluation for casting.</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which to extract the ENTITY</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the ENTITY supplied</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which to extract the ENTITY" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="NumericType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat" type="XSFloat">
-		<comment>
-			<description>A representation of the Float datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XSFloat">
-				<comment>
-					<description>Initiates a representation of the supplied number</description>
-					<attribute name="@param">
-						<description>x
-            The number to be stored</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="The number to be stored" fulltype="float" type="float" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSFloat">
-				<comment>
-					<description>Initiates a representation of 0</description>
-				</comment>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:float&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:float&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;float&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;float&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="String representation of the stored number" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the stored number</description>
-					<attribute name="@return">
-						<description>String representation of the stored number</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="nan" returncomment="True is this datatype represents NaN. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Check for whether this datatype represents NaN</description>
-					<attribute name="@return">
-						<description>True is this datatype represents NaN. False otherwise</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="infinite" returncomment="True is this datatype represents infinity. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Check for whether this datatype represents negative or positive infinity</description>
-					<attribute name="@return">
-						<description>True is this datatype represents infinity. False otherwise</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="zero" returncomment="True if this datatype represents 0. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Check for whether this datatype represents 0</description>
-					<attribute name="@return">
-						<description>True if this datatype represents 0. False otherwise</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="negativeZero" fulltype="boolean" type="boolean" />
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the float supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the retrievable float in the
- supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which to extract the float</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the float supplied</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which to extract the float" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="float_value" returncomment="The actual float value stored" fulltype="float" type="float">
-				<comment>
-					<description>Retrieves the actual float value stored</description>
-					<attribute name="@return">
-						<description>The actual float value stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="eq" returncomment="True if the two representations are of the same number. False
-         otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Equality comparison between this number and the supplied representation.</description>
-					<attribute name="@param">
-						<description>aa
-            The datatype to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the two representations are of the same number. False
-         otherwise</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="aa" comment="The datatype to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="gt" returncomment="True if the supplied representation is a smaller number than the
-         one stored. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Comparison between this number and the supplied representation.</description>
-					<attribute name="@param">
-						<description>arg
-            The datatype to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the supplied representation is a smaller number than the
-         one stored. False otherwise</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The datatype to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="lt" returncomment="True if the supplied representation is a greater number than the
-         one stored. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Comparison between this number and the supplied representation.</description>
-					<attribute name="@param">
-						<description>arg
-            The datatype to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the supplied representation is a greater number than the
-         one stored. False otherwise</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The datatype to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="plus" returncomment="A XSFloat consisting of the result of the mathematical addition." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical addition operator between this XSFloat and the supplied
- ResultSequence.</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence to perform an addition with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSFloat consisting of the result of the mathematical addition.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence to perform an addition with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="minus" returncomment="A XSFloat consisting of the result of the mathematical
-         subtraction." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical subtraction operator between this XSFloat and the supplied
- ResultSequence.</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence to perform a subtraction with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSFloat consisting of the result of the mathematical
-         subtraction.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence to perform a subtraction with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="times" returncomment="A XSFloat consisting of the result of the mathematical
-         multiplication." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical multiplication operator between this XSFloat and the
- supplied ResultSequence.</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence to perform a multiplication with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSFloat consisting of the result of the mathematical
-         multiplication.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence to perform a multiplication with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="div" returncomment="A XSFloat consisting of the result of the mathematical division." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical division operator between this XSFloat and the supplied
- ResultSequence.</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence to perform a division with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSFloat consisting of the result of the mathematical division.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence to perform a division with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="idiv" returncomment="A XSInteger consisting of the result of the mathematical integer
-         division." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical integer division operator between this XSFloat and the
- supplied ResultSequence.</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence to perform an integer division with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSInteger consisting of the result of the mathematical integer
-         division.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence to perform an integer division with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="mod" returncomment="A XSFloat consisting of the result of the mathematical modulus." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical modulus operator between this XSFloat and the supplied
- ResultSequence. Due to no numeric type promotion or conversion, the
- ResultSequence must be of type XSFloat.</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence to perform a modulus with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSFloat consisting of the result of the mathematical modulus.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence to perform a modulus with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="unary_minus" returncomment="A XSFloat representing the negation of the number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Negates the number stored</description>
-					<attribute name="@return">
-						<description>A XSFloat representing the negation of the number stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="abs" returncomment="A XSFloat representing the absolute value of the number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Absolutes the number stored</description>
-					<attribute name="@return">
-						<description>A XSFloat representing the absolute value of the number stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="ceiling" returncomment="A XSFloat representing the smallest integer greater than the
-         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Returns the smallest integer greater than the number stored</description>
-					<attribute name="@return">
-						<description>A XSFloat representing the smallest integer greater than the
-         number stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="floor" returncomment="A XSFloat representing the largest integer smaller than the
-         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Returns the largest integer smaller than the number stored</description>
-					<attribute name="@return">
-						<description>A XSFloat representing the largest integer smaller than the
-         number stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="round" returncomment="A XSFloat representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Returns the closest integer of the number stored.</description>
-					<attribute name="@return">
-						<description>A XSFloat representing the closest long of the number stored.</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="round_half_to_even" returncomment="A XSFloat representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Returns the closest integer of the number stored.</description>
-					<attribute name="@return">
-						<description>A XSFloat representing the closest long of the number stored.</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="round_half_to_even" returncomment="A XSFloat representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Returns the closest integer of the number stored with the specified precision.</description>
-					<attribute name="@param">
-						<description>precision An integer precision</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSFloat representing the closest long of the number stored.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="precision" comment="An integer precision" fulltype="int" type="int" />
-				</params>
-			</method>
-			<method visibility="protected" name="convertArg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
-				<params>
-					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGDay" type="XSGDay">
-		<comment>
-			<description>A representation of the Day datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XSGDay">
-				<comment>
-					<description>Initializes a representation of the supplied day</description>
-					<attribute name="@param">
-						<description>cal
-            Calendar representation of the day to be stored</description>
-					</attribute>
-					<attribute name="@param">
-						<description>tz
-            Timezone associated with this day</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="cal" comment="Calendar representation of the day to be stored" fulltype="java.util.Calendar" type="Calendar" />
-					<param name="tz" comment="Timezone associated with this day" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSGDay">
-				<comment>
-					<description>Initialises a representation of the current day</description>
-				</comment>
-			</constructor>
-			<method visibility="public" name="type_name" returncomment="&quot;gDay&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;gDay&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method static="true" visibility="public" name="parse_gDay" returncomment="The XSGDay representation of the supplied date" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGDay" type="XSGDay">
-				<comment>
-					<description>Parses a String representation of a day and constructs a new XSGDay
- representation of it.</description>
-					<attribute name="@param">
-						<description>str
-            The String representation of the day (and optional timezone)</description>
-					</attribute>
-					<attribute name="@return">
-						<description>The XSGDay representation of the supplied date</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="str" comment="The String representation of the day (and optional timezone)" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the supplied day" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable gDay in the
- supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which the gDay is to be extracted</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the supplied day</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which the gDay is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="day" returncomment="The actual day as an integer" fulltype="int" type="int">
-				<comment>
-					<description>Retrieves the actual day as an integer</description>
-					<attribute name="@return">
-						<description>The actual day as an integer</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="timezoned" returncomment="True if a timezone was specified. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Check for whether a timezone was specified at creation</description>
-					<attribute name="@return">
-						<description>True if a timezone was specified. False otherwise</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="String representation of the stored day" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the stored day</description>
-					<attribute name="@return">
-						<description>String representation of the stored day</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:gDay&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:gDay&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="calendar" returncomment="Calendar representation of the day stored" fulltype="java.util.Calendar" type="Calendar">
-				<comment>
-					<description>Retrieves the Calendar representation of the day stored</description>
-					<attribute name="@return">
-						<description>Calendar representation of the day stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="eq" returncomment="True if the two representations are of the same day. False
-         otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Equality comparison between this and the supplied representation. This
- representation must be of type XSGDay</description>
-					<attribute name="@param">
-						<description>arg
-            The XSGDay to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the two representations are of the same day. False
-         otherwise</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The XSGDay to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="tz" returncomment="the timezone associated with the date stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
-				<comment>
-					<description>Retrieves the timezone associated with the date stored</description>
-					<attribute name="@return">
-						<description>the timezone associated with the date stored</description>
-					</attribute>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonth" type="XSGMonth">
-		<comment>
-			<description>A representation of the gMonth datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XSGMonth">
-				<comment>
-					<description>Initializes a representation of the supplied month</description>
-					<attribute name="@param">
-						<description>cal
-            Calendar representation of the month to be stored</description>
-					</attribute>
-					<attribute name="@param">
-						<description>tz
-            Timezone associated with this month</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="cal" comment="Calendar representation of the month to be stored" fulltype="java.util.Calendar" type="Calendar" />
-					<param name="tz" comment="Timezone associated with this month" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSGMonth">
-				<comment>
-					<description>Initialises a representation of the current month</description>
-				</comment>
-			</constructor>
-			<method visibility="public" name="type_name" returncomment="&quot;gMonth&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;gMonth&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method static="true" visibility="public" name="parse_gMonth" returncomment="The XSGMonth representation of the supplied date" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonth" type="XSGMonth">
-				<comment>
-					<description>Parses a String representation of a month and constructs a new XSGMonth
- representation of it.</description>
-					<attribute name="@param">
-						<description>str
-            The String representation of the month (and optional timezone)</description>
-					</attribute>
-					<attribute name="@return">
-						<description>The XSGMonth representation of the supplied date</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="str" comment="The String representation of the month (and optional timezone)" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the supplied month" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable gMonth in the
- supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which the gMonth is to be extracted</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the supplied month</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which the gMonth is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="month" returncomment="The actual month as an integer" fulltype="int" type="int">
-				<comment>
-					<description>Retrieves the actual month as an integer</description>
-					<attribute name="@return">
-						<description>The actual month as an integer</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="timezoned" returncomment="True if a timezone was specified. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Check for whether a timezone was specified at creation</description>
-					<attribute name="@return">
-						<description>True if a timezone was specified. False otherwise</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="String representation of the stored month" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the stored month</description>
-					<attribute name="@return">
-						<description>String representation of the stored month</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:gMonth&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:gMonth&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="calendar" returncomment="Calendar representation of the month stored" fulltype="java.util.Calendar" type="Calendar">
-				<comment>
-					<description>Retrieves the Calendar representation of the month stored</description>
-					<attribute name="@return">
-						<description>Calendar representation of the month stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="eq" returncomment="True if the two representations are of the same month. False
-         otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Equality comparison between this and the supplied representation. This
- representation must be of type XSGMonth</description>
-					<attribute name="@param">
-						<description>arg
-            The XSGMonth to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the two representations are of the same month. False
-         otherwise</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The XSGMonth to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="tz" returncomment="the timezone associated with the date stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
-				<comment>
-					<description>Retrieves the timezone associated with the date stored</description>
-					<attribute name="@return">
-						<description>the timezone associated with the date stored</description>
-					</attribute>
-					<attribute name="@since">
-						<description>1.1</description>
-					</attribute>
-				</comment>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonthDay" type="XSGMonthDay">
-		<comment>
-			<description>A representation of the MonthDay datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XSGMonthDay">
-				<comment>
-					<description>Initialises a representation of the supplied month and day</description>
-					<attribute name="@param">
-						<description>cal
-            Calendar representation of the month and day to be stored</description>
-					</attribute>
-					<attribute name="@param">
-						<description>tz
-            Timezone associated with this month and day</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="cal" comment="Calendar representation of the month and day to be stored" fulltype="java.util.Calendar" type="Calendar" />
-					<param name="tz" comment="Timezone associated with this month and day" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSGMonthDay">
-				<comment>
-					<description>Initialises a representation of the current month and day</description>
-				</comment>
-			</constructor>
-			<method visibility="public" name="type_name" returncomment="&quot;gMonthDay&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;gMonthDay&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method static="true" visibility="public" name="parse_gMonthDay" returncomment="The XSGMonthDay representation of the supplied date" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonthDay" type="XSGMonthDay">
-				<comment>
-					<description>Parses a String representation of a month and day and constructs a new
- XSGMonthDay representation of it.</description>
-					<attribute name="@param">
-						<description>str
-            The String representation of the month and day (and optional
-            timezone)</description>
-					</attribute>
-					<attribute name="@return">
-						<description>The XSGMonthDay representation of the supplied date</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="str" comment="The String representation of the month and day (and optional
-            timezone)" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the supplied month and day" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable gMonthDay in
- the supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which the gMonthDay is to be extracted</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the supplied month and day</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which the gMonthDay is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="month" returncomment="The actual month as an integer" fulltype="int" type="int">
-				<comment>
-					<description>Retrieves the actual month as an integer</description>
-					<attribute name="@return">
-						<description>The actual month as an integer</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="day" returncomment="The actual day as an integer" fulltype="int" type="int">
-				<comment>
-					<description>Retrieves the actual day as an integer</description>
-					<attribute name="@return">
-						<description>The actual day as an integer</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="timezoned" returncomment="True if a timezone was specified. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Check for whether a timezone was specified at creation</description>
-					<attribute name="@return">
-						<description>True if a timezone was specified. False otherwise</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="String representation of the stored month and day" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the stored month and day</description>
-					<attribute name="@return">
-						<description>String representation of the stored month and day</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:gMonthDay&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:gMonthDay&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="calendar" returncomment="Calendar representation of the month and day stored" fulltype="java.util.Calendar" type="Calendar">
-				<comment>
-					<description>Retrieves the Calendar representation of the month and day stored</description>
-					<attribute name="@return">
-						<description>Calendar representation of the month and day stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="eq" returncomment="True if the two representations are of the same month and day.
-         False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Equality comparison between this and the supplied representation. This
- representation must be of type XSGMonthDay</description>
-					<attribute name="@param">
-						<description>arg
-            The XSGMonthDay to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the two representations are of the same month and day.
-         False otherwise</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The XSGMonthDay to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="tz" returncomment="the timezone associated with the date stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
-				<comment>
-					<description>Retrieves the timezone associated with the date stored</description>
-					<attribute name="@return">
-						<description>the timezone associated with the date stored</description>
-					</attribute>
-				</comment>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYear" type="XSGYear">
-		<comment>
-			<description>A representation of the gMonth datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XSGYear">
-				<comment>
-					<description>Initialises a representation of the supplied month</description>
-					<attribute name="@param">
-						<description>cal
-            Calendar representation of the month to be stored</description>
-					</attribute>
-					<attribute name="@param">
-						<description>tz
-            Timezone associated with this month</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="cal" comment="Calendar representation of the month to be stored" fulltype="java.util.Calendar" type="Calendar" />
-					<param name="tz" comment="Timezone associated with this month" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSGYear">
-				<comment>
-					<description>Initialises a representation of the current year</description>
-				</comment>
-			</constructor>
-			<method visibility="public" name="type_name" returncomment="&quot;gYear&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;gYear&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method static="true" visibility="public" name="parse_gYear" returncomment="The XSGYear representation of the supplied date" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYear" type="XSGYear">
-				<comment>
-					<description>Parses a String representation of a year and constructs a new XSGYear
- representation of it.</description>
-					<attribute name="@param">
-						<description>str
-            The String representation of the year (and optional timezone)</description>
-					</attribute>
-					<attribute name="@return">
-						<description>The XSGYear representation of the supplied date</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="str" comment="The String representation of the year (and optional timezone)" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the supplied year" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable gYear in the
- supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which the gYear is to be extracted</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the supplied year</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which the gYear is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="year" returncomment="The actual year as an integer" fulltype="int" type="int">
-				<comment>
-					<description>Retrieves the actual year as an integer</description>
-					<attribute name="@return">
-						<description>The actual year as an integer</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="timezoned" returncomment="True if a timezone was specified. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Check for whether a timezone was specified at creation</description>
-					<attribute name="@return">
-						<description>True if a timezone was specified. False otherwise</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="String representation of the stored year" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the stored year</description>
-					<attribute name="@return">
-						<description>String representation of the stored year</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:gYear&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:gYear&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="calendar" returncomment="Calendar representation of the year stored" fulltype="java.util.Calendar" type="Calendar">
-				<comment>
-					<description>Retrieves the Calendar representation of the year stored</description>
-					<attribute name="@return">
-						<description>Calendar representation of the year stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="eq" returncomment="True if the two representations are of the same year. False
-         otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Equality comparison between this and the supplied representation. This
- representation must be of type XSGYear</description>
-					<attribute name="@param">
-						<description>arg
-            The XSGYear to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the two representations are of the same year. False
-         otherwise</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The XSGYear to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="tz" returncomment="the timezone associated with the date stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
-				<comment>
-					<description>Retrieves the timezone associated with the date stored</description>
-					<attribute name="@return">
-						<description>the timezone associated with the date stored</description>
-					</attribute>
-				</comment>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYearMonth" type="XSGYearMonth">
-		<comment>
-			<description>A representation of the YearMonth datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XSGYearMonth">
-				<comment>
-					<description>Initialises a representation of the supplied year and month</description>
-					<attribute name="@param">
-						<description>cal
-            Calendar representation of the year and month to be stored</description>
-					</attribute>
-					<attribute name="@param">
-						<description>tz
-            Timezone associated with this year and month</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="cal" comment="Calendar representation of the year and month to be stored" fulltype="java.util.Calendar" type="Calendar" />
-					<param name="tz" comment="Timezone associated with this year and month" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSGYearMonth">
-				<comment>
-					<description>Initialises a representation of the current year and month</description>
-				</comment>
-			</constructor>
-			<method visibility="public" name="type_name" returncomment="&quot;gYearMonth&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;gYearMonth&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method static="true" visibility="public" name="parse_gYearMonth" returncomment="The XSGYearMonth representation of the supplied date" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYearMonth" type="XSGYearMonth">
-				<comment>
-					<description>Parses a String representation of a year and month and constructs a new
- XSGYearMonth representation of it.</description>
-					<attribute name="@param">
-						<description>str
-            The String representation of the year and month (and optional
-            timezone)</description>
-					</attribute>
-					<attribute name="@return">
-						<description>The XSGYearMonth representation of the supplied date</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="str" comment="The String representation of the year and month (and optional
-            timezone)" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the supplied year and month" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable gYearMonth in
- the supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which the gYearMonth is to be
-            extracted</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the supplied year and month</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which the gYearMonth is to be
-            extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="year" returncomment="The actual year as an integer" fulltype="int" type="int">
-				<comment>
-					<description>Retrieves the actual year as an integer</description>
-					<attribute name="@return">
-						<description>The actual year as an integer</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="month" returncomment="The actual month as an integer" fulltype="int" type="int">
-				<comment>
-					<description>Retrieves the actual month as an integer</description>
-					<attribute name="@return">
-						<description>The actual month as an integer</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="timezoned" returncomment="True if a timezone was specified. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Check for whether a timezone was specified at creation</description>
-					<attribute name="@return">
-						<description>True if a timezone was specified. False otherwise</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="String representation of the stored year and month" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the stored year and month</description>
-					<attribute name="@return">
-						<description>String representation of the stored year and month</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:gYearMonth&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:gYearMonth&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="calendar" returncomment="Calendar representation of the year and month stored" fulltype="java.util.Calendar" type="Calendar">
-				<comment>
-					<description>Retrieves the Calendar representation of the year and month stored</description>
-					<attribute name="@return">
-						<description>Calendar representation of the year and month stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="eq" returncomment="True if the two representations are of the same year and month.
-         False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Equality comparison between this and the supplied representation. This
- representation must be of type XSGYearMonth</description>
-					<attribute name="@param">
-						<description>arg
-            The XSGYearMonth to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the two representations are of the same year and month.
-         False otherwise</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The XSGYearMonth to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="tz" returncomment="the timezone associated with the date stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
-				<comment>
-					<description>Retrieves the timezone associated with the date stored</description>
-					<attribute name="@return">
-						<description>the timezone associated with the date stored</description>
-					</attribute>
-				</comment>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSHexBinary" type="XSHexBinary">
-		<comment>
-			<description>A representation of the xs:hexBinary datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XSHexBinary">
-				<comment>
-					<description>Initialises using the supplied String</description>
-					<attribute name="@param">
-						<description>x
-            The String to initialise to</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="The String to initialise to" fulltype="java.lang.String" type="String" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSHexBinary">
-				<comment>
-					<description>Initialises to null</description>
-				</comment>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:hexBinary&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:hexBinary&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;hexBinary&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;hexBinary&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="The hexBinary stored" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the base64Binary stored. This method is
- functionally identical to value()</description>
-					<attribute name="@return">
-						<description>The hexBinary stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="value" returncomment="The hexBinary stored" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the hexBinary stored. This method is
- functionally identical to string_value()</description>
-					<attribute name="@return">
-						<description>The hexBinary stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence representing hexBinary value" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the hexBinary value</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which to construct hexBinary value</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence representing hexBinary value</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which to construct hexBinary value" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="eq" returncomment="True if the two representation are same. False otherwise." fulltype="boolean" type="boolean">
-				<comment>
-					<description>Equality comparison between this and the supplied representation which
- must be of type hexBinary</description>
-					<attribute name="@param">
-						<description>arg
-            The representation to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the two representation are same. False otherwise.</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The representation to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="XSNCName" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSID" type="XSID">
-		<methods>
-			<constructor visibility="public" name="XSID">
-				<params>
-					<param name="x" fulltype="java.lang.String" type="String" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSID" />
-			<method visibility="public" name="string_type" fulltype="java.lang.String" type="String" />
-			<method visibility="public" name="type_name" fulltype="java.lang.String" type="String" />
-			<method visibility="public" name="constructor" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<params>
-					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="XSNCName" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSIDREF" type="XSIDREF">
-		<methods>
-			<constructor visibility="public" name="XSIDREF">
-				<params>
-					<param name="x" fulltype="java.lang.String" type="String" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSIDREF" />
-			<method visibility="public" name="string_type" fulltype="java.lang.String" type="String" />
-			<method visibility="public" name="type_name" fulltype="java.lang.String" type="String" />
-			<method visibility="public" name="constructor" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<params>
-					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="XSLong" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSLong" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSInt" type="XSInt">
-		<methods>
-			<constructor visibility="public" name="XSInt">
-				<comment>
-					<description>Initializes a representation of 0</description>
-				</comment>
-			</constructor>
-			<constructor visibility="public" name="XSInt">
-				<comment>
-					<description>Initializes a representation of the supplied int value</description>
-					<attribute name="@param">
-						<description>x
-            Int to be stored</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="Int to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
-				</params>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:int&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:int&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;int&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;int&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;int&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable &apos;int&apos; in the
- supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which the int is to be extracted</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the &apos;int&apos; supplied</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which the int is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="XSDecimal" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger" type="XSInteger">
-		<comment>
-			<description>A representation of the Integer datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XSInteger">
-				<comment>
-					<description>Initializes a representation of 0</description>
-				</comment>
-			</constructor>
-			<constructor visibility="public" name="XSInteger">
-				<comment>
-					<description>Initializes a representation of the supplied integer</description>
-					<attribute name="@param">
-						<description>x
-            Integer to be stored</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="Integer to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
-				</params>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:integer&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:integer&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;integer&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;integer&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="String representation of the integer stored" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the integer stored</description>
-					<attribute name="@return">
-						<description>String representation of the integer stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="zero" returncomment="True is the integer represented is 0. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Check whether the integer represented is 0</description>
-					<attribute name="@return">
-						<description>True is the integer represented is 0. False otherwise</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the integer supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable integer in the
- supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which the integer is to be extracted</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the integer supplied</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which the integer is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="int_value" returncomment="The actual integer value stored" fulltype="java.math.BigInteger" type="BigInteger">
-				<comment>
-					<description>Retrieves the actual integer value stored</description>
-					<attribute name="@return">
-						<description>The actual integer value stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="set_int" fulltype="void" type="void">
-				<comment>
-					<description>Sets the integer stored to that supplied</description>
-					<attribute name="@param">
-						<description>x
-            Integer to be stored</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="Integer to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
-				</params>
-			</method>
-			<method visibility="public" name="plus" returncomment="A XSInteger consisting of the result of the mathematical
-         addition." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical addition operator between this XSInteger and the supplied
- ResultSequence.</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence to perform an addition with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSInteger consisting of the result of the mathematical
-         addition.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence to perform an addition with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="minus" returncomment="A XSInteger consisting of the result of the mathematical
-         subtraction." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical subtraction operator between this XSInteger and the supplied
- ResultSequence.</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence to perform a subtraction with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSInteger consisting of the result of the mathematical
-         subtraction.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence to perform a subtraction with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="times" returncomment="A XSInteger consisting of the result of the mathematical
-         multiplication." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical multiplication operator between this XSInteger and the
- supplied ResultSequence.</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence to perform a multiplication with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSInteger consisting of the result of the mathematical
-         multiplication.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence to perform a multiplication with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="mod" returncomment="A XSInteger consisting of the result of the mathematical modulus." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical modulus operator between this XSInteger and the supplied
- ResultSequence.</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence to perform a modulus with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSInteger consisting of the result of the mathematical modulus.</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence to perform a modulus with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="unary_minus" returncomment="New XSInteger representing the negation of the integer stored" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Negates the integer stored</description>
-					<attribute name="@return">
-						<description>New XSInteger representing the negation of the integer stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="abs" returncomment="New XSInteger representing the absolute of the integer stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
-				<comment>
-					<description>Absolutes the integer stored</description>
-					<attribute name="@return">
-						<description>New XSInteger representing the absolute of the integer stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="gt" fulltype="boolean" type="boolean">
-				<params>
-					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="protected" name="convertArg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
-				<params>
-					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="lt" fulltype="boolean" type="boolean">
-				<params>
-					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="div" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<params>
-					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="XSInteger" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSLong" type="XSLong">
-		<methods>
-			<constructor visibility="public" name="XSLong">
-				<comment>
-					<description>Initializes a representation of 0</description>
-				</comment>
-			</constructor>
-			<constructor visibility="public" name="XSLong">
-				<comment>
-					<description>Initializes a representation of the supplied long value</description>
-					<attribute name="@param">
-						<description>x
-            Long to be stored</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="Long to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
-				</params>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:long&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:long&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;long&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;long&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;long&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable long in the
- supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which the long is to be extracted</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the &apos;long&apos; supplied</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which the long is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="XSString" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSString" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName" type="XSNCName">
-		<comment>
-			<description>A representation of the NCName datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XSNCName">
-				<comment>
-					<description>Initialises using the supplied String</description>
-					<attribute name="@param">
-						<description>x
-            String to be stored</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="String to be stored" fulltype="java.lang.String" type="String" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSNCName">
-				<comment>
-					<description>Initialises to null</description>
-				</comment>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:NCName&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:NCName&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;NCName&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;NCName&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the NCName supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable NCName within
- the supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which to extract the NCName</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the NCName supplied</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which to extract the NCName" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="XSNonPositiveInteger" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonPositiveInteger" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNegativeInteger" type="XSNegativeInteger">
-		<methods>
-			<constructor visibility="public" name="XSNegativeInteger">
-				<comment>
-					<description>Initializes a representation of -1</description>
-				</comment>
-			</constructor>
-			<constructor visibility="public" name="XSNegativeInteger">
-				<comment>
-					<description>Initializes a representation of the supplied negativeInteger value</description>
-					<attribute name="@param">
-						<description>x
-            negativeInteger to be stored</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="negativeInteger to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
-				</params>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:negativeInteger&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:negativeInteger&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;negativeInteger&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;negativeInteger&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;negativeInteger&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable negativeInteger
- in the supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which the negativeInteger is to be extracted</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the &apos;negativeInteger&apos; supplied</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which the negativeInteger is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="XSInteger" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonNegativeInteger" type="XSNonNegativeInteger">
-		<methods>
-			<constructor visibility="public" name="XSNonNegativeInteger">
-				<comment>
-					<description>Initializes a representation of 0</description>
-				</comment>
-			</constructor>
-			<constructor visibility="public" name="XSNonNegativeInteger">
-				<comment>
-					<description>Initializes a representation of the supplied nonNegativeInteger value</description>
-					<attribute name="@param">
-						<description>x
-            nonNegativeInteger to be stored</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="nonNegativeInteger to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
-				</params>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:nonNegativeInteger&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:nonNegativeInteger&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;nonNegativeInteger&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;nonNegativeInteger&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;nonNegativeInteger&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable nonNegativeInteger
- in the supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which the nonNegativeInteger is to be extracted</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the &apos;nonNegativeInteger&apos; supplied</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which the nonNegativeInteger is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="XSInteger" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonPositiveInteger" type="XSNonPositiveInteger">
-		<methods>
-			<constructor visibility="public" name="XSNonPositiveInteger">
-				<comment>
-					<description>Initializes a representation of 0</description>
-				</comment>
-			</constructor>
-			<constructor visibility="public" name="XSNonPositiveInteger">
-				<comment>
-					<description>Initializes a representation of the supplied nonPositiveInteger value</description>
-					<attribute name="@param">
-						<description>x
-            nonPositiveInteger to be stored</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="nonPositiveInteger to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
-				</params>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:nonPositiveInteger&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:nonPositiveInteger&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;nonPositiveInteger&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;nonPositiveInteger&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;nonPositiveInteger&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable nonPositiveInteger
- in the supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which the nonPositiveInteger is to be extracted</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the &apos;nonPositiveInteger&apos; supplied</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which the nonPositiveInteger is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNotation" type="XSNotation">
-		<methods>
-			<constructor visibility="public" name="XSNotation" />
-			<method visibility="public" name="string_type" fulltype="java.lang.String" type="String" />
-			<method visibility="public" name="string_value" fulltype="java.lang.String" type="String" />
-			<method visibility="public" name="constructor" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<params>
-					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="type_name" fulltype="java.lang.String" type="String" />
-		</methods>
-	</jelclass>
-	<jelclass superclass="XSNonNegativeInteger" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonNegativeInteger" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSPositiveInteger" type="XSPositiveInteger">
-		<methods>
-			<constructor visibility="public" name="XSPositiveInteger">
-				<comment>
-					<description>Initializes a representation of 1</description>
-				</comment>
-			</constructor>
-			<constructor visibility="public" name="XSPositiveInteger">
-				<comment>
-					<description>Initializes a representation of the supplied positiveInteger value</description>
-					<attribute name="@param">
-						<description>x
-            positiveInteger to be stored</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="positiveInteger to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
-				</params>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:positiveInteger&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:positiveInteger&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;positiveInteger&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;positiveInteger&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;positiveInteger&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable positiveInteger
- in the supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which the positiveInteger is to be extracted</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the &apos;positiveInteger&apos; supplied</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which the positiveInteger is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="XSInt" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSInt" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSShort" type="XSShort">
-		<methods>
-			<constructor visibility="public" name="XSShort">
-				<comment>
-					<description>Initializes a representation of 0</description>
-				</comment>
-			</constructor>
-			<constructor visibility="public" name="XSShort">
-				<comment>
-					<description>Initializes a representation of the supplied short value</description>
-					<attribute name="@param">
-						<description>x
-            Short to be stored</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="Short to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
-				</params>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:short&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:short&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;short&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;short&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;short&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable &apos;short&apos; in the
- supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which the short is to be extracted</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the &apos;short&apos; supplied</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which the short is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSString" type="XSString">
-		<comment>
-			<description>A representation of the String datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XSString">
-				<comment>
-					<description>Initialises using the supplied String</description>
-					<attribute name="@param">
-						<description>x
-            The String to initialise to</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="The String to initialise to" fulltype="java.lang.String" type="String" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSString">
-				<comment>
-					<description>Initialises to null</description>
-				</comment>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:string&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:string&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;string&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;string&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="The String stored" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the string stored. This method is
- functionally identical to value()</description>
-					<attribute name="@return">
-						<description>The String stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="value" returncomment="The String stored" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the string stored. This method is
- functionally identical to string_value()</description>
-					<attribute name="@return">
-						<description>The String stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the supplied String" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable String in the
- supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which to extract the String</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the supplied String</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which to extract the String" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="eq" returncomment="True if the two representation are of the same String. False
-         otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Equality comparison between this and the supplied representation which
- must be of type String</description>
-					<attribute name="@param">
-						<description>arg
-            The representation to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the two representation are of the same String. False
-         otherwise</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The representation to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="gt" returncomment="True if this String is lexographically greater than that
-         supplied. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Comparison between this and the supplied representation which must be of
- type String</description>
-					<attribute name="@param">
-						<description>arg
-            The representation to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if this String is lexographically greater than that
-         supplied. False otherwise</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The representation to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="lt" returncomment="True if this String is lexographically less than that supplied.
-         False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Comparison between this and the supplied representation which must be of
- type String</description>
-					<attribute name="@param">
-						<description>arg
-            The representation to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if this String is lexographically less than that supplied.
-         False otherwise</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The representation to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSTime" type="XSTime">
-		<implements>
-			<interface fulltype="java.lang.Cloneable" type="Cloneable" />
-		</implements>
-		<comment>
-			<description>A representation of the Time datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XSTime">
-				<comment>
-					<description>Initialises to the supplied time and timezone</description>
-					<attribute name="@param">
-						<description>cal
-            Calendar representation of the time to be stored</description>
-					</attribute>
-					<attribute name="@param">
-						<description>tz
-            The timezone (possibly null) associated with this time</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="cal" comment="Calendar representation of the time to be stored" fulltype="java.util.Calendar" type="Calendar" />
-					<param name="tz" comment="The timezone (possibly null) associated with this time" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSTime">
-				<comment>
-					<description>Initialises to the current time</description>
-				</comment>
-			</constructor>
-			<method visibility="public" name="clone" returncomment="New XSTime representing the copy of the time and timezone" fulltype="java.lang.Object" type="Object">
-				<comment>
-					<description>Creates a new copy of the time (and timezone) stored</description>
-					<attribute name="@return">
-						<description>New XSTime representing the copy of the time and timezone</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>CloneNotSupportedException</description>
-					</attribute>
-				</comment>
-				<exceptions>
-					<exception comment="" fulltype="java.lang.CloneNotSupportedException" type="CloneNotSupportedException" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;time&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;time&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method static="true" visibility="public" name="parse_time" returncomment="New XSTime representing the supplied time" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSTime" type="XSTime">
-				<comment>
-					<description>Creates a new XSTime representing the String represented supplied time</description>
-					<attribute name="@param">
-						<description>str
-            String represented time and timezone to be stored</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New XSTime representing the supplied time</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="str" comment="String represented time and timezone to be stored" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the supplied time" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable time from the
- supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which to extract the time</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the supplied time</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which to extract the time" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="hour" returncomment="The hour stored" fulltype="int" type="int">
-				<comment>
-					<description>Retrieves the hour stored as an integer</description>
-					<attribute name="@return">
-						<description>The hour stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="minute" returncomment="The minute stored" fulltype="int" type="int">
-				<comment>
-					<description>Retrieves the minute stored as an integer</description>
-					<attribute name="@return">
-						<description>The minute stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="second" returncomment="The second stored" fulltype="double" type="double">
-				<comment>
-					<description>Retrieves the seconds stored as an integer</description>
-					<attribute name="@return">
-						<description>The second stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="timezoned" returncomment="True if the time has a timezone associated. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Check for whether the time stored has a timezone associated with it</description>
-					<attribute name="@return">
-						<description>True if the time has a timezone associated. False otherwise</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="String representation of the time stored" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the time stored</description>
-					<attribute name="@return">
-						<description>String representation of the time stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:time&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:time&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="calendar" returncomment="Calendar representation of the time stored" fulltype="java.util.Calendar" type="Calendar">
-				<comment>
-					<description>Retrieves a Calendar representation of time stored</description>
-					<attribute name="@return">
-						<description>Calendar representation of the time stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="tz" returncomment="The duration of time between the time stored and the actual time
-         after the timezone is taken into account" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
-				<comment>
-					<description>Retrieves the timezone associated with the time stored as a duration of
- time</description>
-					<attribute name="@return">
-						<description>The duration of time between the time stored and the actual time
-         after the timezone is taken into account</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="value" returncomment="time stored in milliseconds since the epoch" fulltype="double" type="double">
-				<comment>
-					<description>Retrieves the time in milliseconds since the epoch</description>
-					<attribute name="@return">
-						<description>time stored in milliseconds since the epoch</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="eq" returncomment="True if both XSTime&apos;s represent the same time. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Equality comparison between this and the supplied XSTime representation</description>
-					<attribute name="@param">
-						<description>arg
-            The XSTime to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if both XSTime&apos;s represent the same time. False otherwise</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The XSTime to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="lt" returncomment="True if the supplied time represnts a point in time after that
-         represented by the time stored. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Comparison between this and the supplied XSTime representation</description>
-					<attribute name="@param">
-						<description>arg
-            The XSTime to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the supplied time represnts a point in time after that
-         represented by the time stored. False otherwise</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The XSTime to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="gt" returncomment="True if the supplied time represnts a point in time before that
-         represented by the time stored. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Comparison between this and the supplied XSTime representation</description>
-					<attribute name="@param">
-						<description>arg
-            The XSTime to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the supplied time represnts a point in time before that
-         represented by the time stored. False otherwise</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The XSTime to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="minus" returncomment="A ResultSequence representing the result of the subtraction" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical subtraction between this time stored and the supplied
- representation. This supplied representation must be of either type
- XSTime (in which case the result is the duration of time between these
- two times) or a XDTDayTimeDuration (in which case the result is the time
- when this duration is subtracted from the time stored).</description>
-					<attribute name="@param">
-						<description>arg
-            The representation to subtract (either XSTim or
-            XDTDayTimeDuration)</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A ResultSequence representing the result of the subtraction</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The representation to subtract (either XSTim or
-            XDTDayTimeDuration)" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="plus" returncomment="A XSTime representing the result of this addition." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical addition between this time stored and the supplied time
- duration.</description>
-					<attribute name="@param">
-						<description>arg
-            A XDTDayTimeDuration representation of the duration of time to
-            add</description>
-					</attribute>
-					<attribute name="@return">
-						<description>A XSTime representing the result of this addition.</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="A XDTDayTimeDuration representation of the duration of time to
-            add" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="XSUnsignedShort" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedShort" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedByte" type="XSUnsignedByte">
-		<methods>
-			<constructor visibility="public" name="XSUnsignedByte">
-				<comment>
-					<description>Initializes a representation of 0</description>
-				</comment>
-			</constructor>
-			<constructor visibility="public" name="XSUnsignedByte">
-				<comment>
-					<description>Initializes a representation of the supplied unsignedByte value</description>
-					<attribute name="@param">
-						<description>x
-            unsignedByte to be stored</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="unsignedByte to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
-				</params>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:unsignedByte&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:unsignedByte&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;unsignedByte&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;unsignedByte&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;unsignedByte&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable unsignedByte
- in the supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which the unsignedByte is to be extracted</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the &apos;unsignedByte&apos; supplied</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which the unsignedByte is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="XSUnsignedLong" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedLong" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedInt" type="XSUnsignedInt">
-		<methods>
-			<constructor visibility="public" name="XSUnsignedInt">
-				<comment>
-					<description>Initializes a representation of 0</description>
-				</comment>
-			</constructor>
-			<constructor visibility="public" name="XSUnsignedInt">
-				<comment>
-					<description>Initializes a representation of the supplied unsignedInt value</description>
-					<attribute name="@param">
-						<description>x
-            unsignedInt to be stored</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="unsignedInt to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
-				</params>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:unsignedInt&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:unsignedInt&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;unsignedInt&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;unsignedInt&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;unsignedInt&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable unsignedInt
- in the supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which the unsignedInt is to be extracted</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the &apos;unsignedInt&apos; supplied</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which the unsignedInt is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="XSNonNegativeInteger" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonNegativeInteger" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedLong" type="XSUnsignedLong">
-		<methods>
-			<constructor visibility="public" name="XSUnsignedLong">
-				<comment>
-					<description>Initializes a representation of 0</description>
-				</comment>
-			</constructor>
-			<constructor visibility="public" name="XSUnsignedLong">
-				<comment>
-					<description>Initializes a representation of the supplied unsignedLong value</description>
-					<attribute name="@param">
-						<description>x
-            unsignedLong to be stored</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="unsignedLong to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
-				</params>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:unsignedLong&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:unsignedLong&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;unsignedLong&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;unsignedLong&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;unsignedLong&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable unsignedLong
- in the supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which the unsignedLong is to be extracted</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the &apos;unsignedLong&apos; supplied</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which the unsignedLong is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="XSUnsignedInt" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedInt" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedShort" type="XSUnsignedShort">
-		<methods>
-			<constructor visibility="public" name="XSUnsignedShort">
-				<comment>
-					<description>Initializes a representation of 0</description>
-				</comment>
-			</constructor>
-			<constructor visibility="public" name="XSUnsignedShort">
-				<comment>
-					<description>Initializes a representation of the supplied unsignedShort value</description>
-					<attribute name="@param">
-						<description>x
-            unsignedShort to be stored</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="unsignedShort to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
-				</params>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:unsignedShort&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:unsignedShort&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;unsignedShort&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;unsignedShort&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;unsignedShort&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable unsignedShort
- in the supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which the unsignedShort is to be extracted</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the &apos;unsignedShort&apos; supplied</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which the unsignedShort is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUntypedAtomic" type="XSUntypedAtomic">
-		<comment>
-			<description>A representation of the UntypedAtomic datatype which is used to represent
- untyped atomic nodes.</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XSUntypedAtomic" />
-			<constructor visibility="public" name="XSUntypedAtomic">
-				<comment>
-					<description>Initialises using the supplied String</description>
-					<attribute name="@param">
-						<description>x
-            The String representation of the value of the untyped atomic
-            node</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="x" comment="The String representation of the value of the untyped atomic
-            node" fulltype="java.lang.String" type="String" />
-				</params>
-			</constructor>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:untypedAtomic&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:untypedAtomic&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="String representation of the value of this untyped atomic node" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the value of this untyped atomic
- node</description>
-					<attribute name="@return">
-						<description>String representation of the value of this untyped atomic node</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="constructor" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<params>
-					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="type_name" fulltype="java.lang.String" type="String" />
-		</methods>
-	</jelclass>
-	<jelclass superclass="XSDuration" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSYearMonthDuration" type="XSYearMonthDuration">
-		<comment>
-			<description>A representation of the YearMonthDuration datatype</description>
-		</comment>
-		<methods>
-			<constructor visibility="public" name="XSYearMonthDuration">
-				<comment>
-					<description>Initialises using the supplied parameters. If the number of months
- supplied is more than 12, the number of years is adjusted accordingly.</description>
-					<attribute name="@param">
-						<description>year
-            Number of years in this duration of time</description>
-					</attribute>
-					<attribute name="@param">
-						<description>month
-            Number of months in this duration of time</description>
-					</attribute>
-					<attribute name="@param">
-						<description>negative
-            True if this duration of time represents a backwards passage
-            through time. False otherwise</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="year" comment="Number of years in this duration of time" fulltype="int" type="int" />
-					<param name="month" comment="Number of months in this duration of time" fulltype="int" type="int" />
-					<param name="negative" comment="True if this duration of time represents a backwards passage
-            through time. False otherwise" fulltype="boolean" type="boolean" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSYearMonthDuration">
-				<comment>
-					<description>Initialises to the given number of months</description>
-					<attribute name="@param">
-						<description>months
-            Number of months in the duration of time</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="months" comment="Number of months in the duration of time" fulltype="int" type="int" />
-				</params>
-			</constructor>
-			<constructor visibility="public" name="XSYearMonthDuration">
-				<comment>
-					<description>Initialises to a duration of no time (0years and 0months)</description>
-				</comment>
-			</constructor>
-			<method static="true" visibility="public" name="parseYMDuration" returncomment="New XSYearMonthDuration representing the duration of time
-         supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
-				<comment>
-					<description>Creates a new XSYearMonthDuration by parsing the supplied String
- represented duration of time</description>
-					<attribute name="@param">
-						<description>str
-            String represented duration of time</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New XSYearMonthDuration representing the duration of time
-         supplied</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="str" comment="String represented duration of time" fulltype="java.lang.String" type="String" />
-				</params>
-			</method>
-			<method visibility="public" name="type_name" returncomment="&quot;yearMonthDuration&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrives the datatype&apos;s name</description>
-					<attribute name="@return">
-						<description>&quot;yearMonthDuration&quot; which is the datatype&apos;s name</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the time duration extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Creates a new ResultSequence consisting of the extractable time duration
- from the supplied ResultSequence</description>
-					<attribute name="@param">
-						<description>arg
-            The ResultSequence from which to extract</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New ResultSequence consisting of the time duration extracted</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The ResultSequence from which to extract" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="negative" returncomment="True if this duration represents a backward passage through time.
-         False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Retrieves whether this duration represents a backward passage through
- time</description>
-					<attribute name="@return">
-						<description>True if this duration represents a backward passage through time.
-         False otherwise</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_value" returncomment="String representation of the duration of time stored" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves a String representation of the duration of time stored</description>
-					<attribute name="@return">
-						<description>String representation of the duration of time stored</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="string_type" returncomment="&quot;xs:yearMonthDuration&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
-				<comment>
-					<description>Retrieves the datatype&apos;s full pathname</description>
-					<attribute name="@return">
-						<description>&quot;xs:yearMonthDuration&quot; which is the datatype&apos;s full pathname</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="monthValue" returncomment="Number of months making up this duration of time" fulltype="int" type="int">
-				<comment>
-					<description>Retrieves the duration of time stored as the number of months within it</description>
-					<attribute name="@return">
-						<description>Number of months making up this duration of time</description>
-					</attribute>
-				</comment>
-			</method>
-			<method visibility="public" name="eq" returncomment="True if they both represent the duration of time. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Equality comparison between this and the supplied duration of time.</description>
-					<attribute name="@param">
-						<description>arg
-            The duration of time to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if they both represent the duration of time. False otherwise</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The duration of time to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="lt" returncomment="True if the supplied time represents a larger duration than that
-         stored. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Comparison between this and the supplied duration of time.</description>
-					<attribute name="@param">
-						<description>arg
-            The duration of time to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the supplied time represents a larger duration than that
-         stored. False otherwise</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The duration of time to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="gt" returncomment="True if the supplied time represents a smaller duration than that
-         stored. False otherwise" fulltype="boolean" type="boolean">
-				<comment>
-					<description>Comparison between this and the supplied duration of time.</description>
-					<attribute name="@param">
-						<description>arg
-            The duration of time to compare with</description>
-					</attribute>
-					<attribute name="@return">
-						<description>True if the supplied time represents a smaller duration than that
-         stored. False otherwise</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The duration of time to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="plus" returncomment="New XSYearMonthDuration representing the resulting duration
-         after the addition" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical addition between this duration stored and the supplied
- duration of time (of type XSYearMonthDuration)</description>
-					<attribute name="@param">
-						<description>arg
-            The duration of time to add</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New XSYearMonthDuration representing the resulting duration
-         after the addition</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The duration of time to add" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="minus" returncomment="New XSYearMonthDuration representing the resulting duration
-         after the subtraction" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical subtraction between this duration stored and the supplied
- duration of time (of type XSYearMonthDuration)</description>
-					<attribute name="@param">
-						<description>arg
-            The duration of time to subtract</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New XSYearMonthDuration representing the resulting duration
-         after the subtraction</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The duration of time to subtract" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="times" returncomment="New XSYearMonthDuration representing the resulting duration
-         after the multiplication" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical multiplication between this duration stored and the supplied
- duration of time (of type XSYearMonthDuration)</description>
-					<attribute name="@param">
-						<description>arg
-            The duration of time to multiply by</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New XSYearMonthDuration representing the resulting duration
-         after the multiplication</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The duration of time to multiply by" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-			<method visibility="public" name="div" returncomment="New XSYearMonthDuration representing the resulting duration
-         after the division" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
-				<comment>
-					<description>Mathematical division between this duration stored and the supplied
- duration of time (of type XSYearMonthDuration)</description>
-					<attribute name="@param">
-						<description>arg
-            The duration of time to divide by</description>
-					</attribute>
-					<attribute name="@return">
-						<description>New XSYearMonthDuration representing the resulting duration
-         after the division</description>
-					</attribute>
-					<attribute name="@throws">
-						<description>DynamicError</description>
-					</attribute>
-				</comment>
-				<params>
-					<param name="arg" comment="The duration of time to divide by" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
-				</params>
-				<exceptions>
-					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
-				</exceptions>
-			</method>
-		</methods>
-	</jelclass>
-</jel>
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/jeltohtml.xsl b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/jeltohtml.xsl
deleted file mode 100644
index 34af00f..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/jeltohtml.xsl
+++ /dev/null
@@ -1,393 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/*******************************************************************************
- * Copyright (c) 2008 Standards for Technology in Automotive Retail and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver - bug 231472 - initial API and implementation
- *******************************************************************************/
-
- -->
-<xsl:stylesheet version="1.0"
-                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:redirect="http://xml.apache.org/xalan/redirect"
-                extension-element-prefixes="redirect">
-    <xsl:output encoding="UTF-8" method="html" indent="no" omit-xml-declaration="yes"/>
-    
-    <!-- Create the HTML structure -->
-	<xsl:template match="/">
-   		<xsl:apply-templates select="//jelclass"/>
-	</xsl:template>
-   
-    <!-- This is the main work horse that does the general layout for the class page -->
-    <xsl:template match="jelclass">
-      <xsl:variable name="outputFile">
-        <xsl:value-of select="@fulltype"/>
-        <xsl:text>.html</xsl:text>
-      </xsl:variable>
-      <xsl:message terminate="no">
-         <xsl:text>Generating JavaDoc for </xsl:text>
-         <xsl:value-of select="@fulltype"/>
-         <xsl:text>.</xsl:text>
-      </xsl:message>
-      <redirect:write select="$outputFile">
-       <html>
-         <body>
-            <p>
-               <font size="+1"><strong>Package <xsl:value-of select="@package"/></strong></font>
-            </p>
-            <hr/>
-            <h2>
-               <font size="-1"><strong><xsl:value-of select="@package"/></strong></font><br/>
-               Class <xsl:value-of select="@type"/>
-            </h2>
-            <br/>
-            <hr/>
-            <xsl:call-template name="format-header"/>
-            <xsl:apply-templates select="comment/description"/>
-            <xsl:apply-templates select="comment/attribute"/>
-            <hr/>
-            <xsl:if test="descendant::fields">
-               <table border="1" width="100%">
-                  <tr bgcolor="#CCCCFF" cols="2">
-                     <td width="100%" colspan="2"><h2>Field Summary</h2></td>
-                  </tr>
-                  <xsl:apply-templates select="fields/field" mode="summary">
-                     <xsl:sort select="@name" order="ascending"/>
-                  </xsl:apply-templates>
-               </table>
-               <br/>
-            </xsl:if>
-            <xsl:if test="descendant::constructor">
-               <table border="1" width="100%">
-                  <tr bgcolor="#CCCCFF">
-                     <td width="100%"><h2>Constructor Summary</h2></td>
-                  </tr>
-                  <xsl:apply-templates select="descendant::constructor" mode="summary">
-                     <xsl:sort select="@name" order="ascending"/>
-                  </xsl:apply-templates>
-               </table>
-               <br/>
-            </xsl:if>
-            <xsl:if test="descendant::methods">
-               <table border="1" width="100%">
-                  <tr bgcolor="#CCCCFF" cols="2">
-                     <td width="100%" colspan="2"><h2>Method Summary</h2></td>
-                  </tr>
-                  <xsl:apply-templates select="methods/method" mode="summary">
-                     <xsl:sort select="@name" order="ascending"/>
-                  </xsl:apply-templates>
-               </table>
-            </xsl:if>
-            <hr/>
-            <xsl:if test="fields">
-               <xsl:call-template name="fieldDetail"/>
-            </xsl:if>
-            <xsl:if test="methods/constructor">
-               <xsl:call-template name="constructorDetail"/>
-            </xsl:if>
-            <xsl:if test="methods/method">
-               <xsl:call-template name="methodsDetail"/>
-            </xsl:if>
-           </body>
-         </html>
-      </redirect:write>
-    </xsl:template>
-    
-    <!-- Output any description that may be there for comments. -->
-    <xsl:template match="comment/description">
-            <xsl:value-of select="." disable-output-escaping="yes"/>
-    </xsl:template>
-    
-    <!-- Output the various attribute information for the class -->
-    <xsl:template match="comment/attribute">
-         <p>
-            <xsl:choose>
-               <xsl:when test="@author">
-                  <strong>Author:</strong><br/>
-                  <xsl:value-of select="description" disable-output-escaping="yes"/> 
-               </xsl:when>
-               <xsl:when test="@see">
-                  <strong>See Also:</strong><br/>
-                     <xsl:value-of select="description" disable-output-escaping="yes"/>
-               </xsl:when>
-            </xsl:choose>
-         </p>
-    </xsl:template>
-
-
-        <!-- Create the field summary rows -->
-    <xsl:template match="field" mode="summary">
-         <tr valign="top">
-            <td align="right" width="20%">
-               <code>
-                  <xsl:value-of select="@visibility"/>
-                  <xsl:if test="@static = 'true'">
-                     <xsl:text> static </xsl:text>
-                  </xsl:if>
-                  <xsl:text> </xsl:text>
-                  <xsl:value-of select="@fulltype"/>                     
-               </code>
-            </td>
-            <td align="left" width="80%">
-               <code>
-                  <a href="#field_{@name}">
-                  <xsl:value-of select="@name"/>
-                  </a>
-               </code>
-               <br/>
-               &#160;&#160;&#160;&#160;
-               <xsl:value-of select="comment/description"/>
-            </td>
-         </tr>
-    </xsl:template>
-    
-    
-    <!-- Create the constructors rows -->
-    <xsl:template match="constructor" mode="summary">
-         <tr>
-            <td>
-               <code>
-                  <strong>
-                    <a href="#con_{@name}">
-                     <xsl:value-of select="@name"/>
-                    </a>
-                  </strong>                     
-                  <xsl:text>(</xsl:text>
-                  <xsl:if test="params">
-                     <xsl:apply-templates select="params/param"/>
-                  </xsl:if>
-                  <xsl:text>)</xsl:text>
-               </code>
-            </td>
-         </tr>
-    </xsl:template>
-    
-    
-    <xsl:template match="param">
-      <xsl:value-of select="@fulltype"/><xsl:text> </xsl:text><xsl:value-of select="@name"/>
-      <xsl:if test="position() != last()">
-         ,
-      </xsl:if>
-    </xsl:template>
-    
-    <!-- Create the method summary rows -->
-    <xsl:template match="method" mode="summary">
-         <tr valign="top">
-            <td align="right" width="20%">
-               <code>
-                  <xsl:value-of select="@visibility"/>
-                  <xsl:if test="@static = 'true'">
-                     <xsl:text> static</xsl:text>
-                  </xsl:if>
-                  <xsl:text> </xsl:text>
-                  <xsl:value-of select="@fulltype"/>                     
-               </code>
-            </td>
-            <td align="left" width="">
-               <code>
-                  <a href="#method_{@name}">
-                  <xsl:value-of select="@name"/>
-                  </a>
-                  <xsl:text>(</xsl:text>
-                  <xsl:if test="params">
-                     <xsl:apply-templates select="params/param"/>
-                  </xsl:if>
-                  <xsl:text>)</xsl:text>
-               </code>
-               <br/>
-               &#160;&#160;&#160;&#160;
-               <xsl:apply-templates select="comment/description"/>
-            </td>
-         </tr>
-    </xsl:template>
-    
-    
-    <xsl:template name="format-header">
-         <pre>
-<xsl:value-of select="@visibility"/> class <strong><xsl:value-of select="@type"/></strong>
-extends <xsl:value-of select="@superclassfulltype"/>
-         </pre>
-    </xsl:template>
-    
-    <xsl:template name="fieldDetail">
-      <table border="1" width="100%" cols="2">
-         <tr align="left" bgcolor="#CCCCFF" width="100%" colspan="2">
-            <td>
-               <h2>
-                  Field Detail
-               </h2>
-            </td>
-         </tr>
-      </table>
-      <xsl:apply-templates select="fields/field" mode="detail">
-         <xsl:sort select="@name" order="ascending"/>
-      </xsl:apply-templates>
-    </xsl:template>
-    
-    <xsl:template match="fields/field" mode="detail">
-      <h2>
-         <a name="field_{@name}">
-            <xsl:value-of select="@name"/>
-         </a>
-      </h2>
-      <p>
-         <code>
-            <xsl:value-of select="@visibility"/>
-            <xsl:if test="@static = 'true'">
-               <xsl:text> static </xsl:text>
-            </xsl:if>
-            <xsl:text> </xsl:text>
-            <xsl:value-of select="@fulltype"/>
-            <xsl:text> </xsl:text>
-            <strong>
-               <xsl:value-of select="@name"/>
-            </strong>                   
-         </code>
-      </p>
-      <xsl:if test="comment">
-         <table>
-            <tr>
-              <td>
-                  <xsl:apply-templates select="comment/description"/>
-              </td>
-            </tr>
-         </table>
-      </xsl:if>
-      <hr/>
-      
-    </xsl:template>
-    
-    <xsl:template name="constructorDetail">
-      <table border="1" width="100%" cols="2">
-         <tr align="left" bgcolor="#CCCCFF" width="100%" colspan="2">
-            <td>
-               <h2>
-                  Constructor Detail
-               </h2>
-            </td>
-         </tr>
-      </table>
-      <xsl:apply-templates select="methods/constructor" mode="detail">
-         <xsl:sort select="@name" order="ascending"/>
-      </xsl:apply-templates>
-    </xsl:template>
-    
-    <xsl:template match="methods/constructor" mode="detail">
-      <h2>
-         <a name="con_{@name}"><xsl:value-of select="@name"/></a>
-      </h2>
-      <p>
-         <code>
-            <xsl:value-of select="@visibility"/>
-            <xsl:text> </xsl:text>
-            <strong>
-               <xsl:value-of select="@name"/>
-            </strong>
-            <xsl:text>(</xsl:text>
-            <xsl:if test="params">
-               <xsl:apply-templates select="params/param"/>
-            </xsl:if>
-            <xsl:text>)</xsl:text>
-         </code>
-      </p>
-      <p>
-         <xsl:apply-templates select="comment/description"/>
-      </p>
-      <hr/>
-      
-    </xsl:template>
-    
-    <xsl:template name="methodsDetail">
-      <table border="1" width="100%" cols="2">
-         <tr align="left" bgcolor="#CCCCFF" width="100%" colspan="2">
-            <td>
-               <h2>
-                  Methods Detail
-               </h2>
-            </td>
-         </tr>
-      </table>
-      <xsl:apply-templates select="methods/method" mode="detail">
-         <xsl:sort select="@name" order="ascending"/>
-      </xsl:apply-templates>
-    </xsl:template>
-    
-    <xsl:template match="methods/method" mode="detail">
-      <h2>
-         <a name="method_{@name}">
-            <xsl:value-of select="@name"/>
-         </a>
-      </h2>
-      <p>
-         <code>
-            <xsl:value-of select="@visibility"/>
-            <xsl:text> </xsl:text>
-            <xsl:value-of select="@fulltype"/>
-            <xsl:text> </xsl:text>
-            <strong>
-               <xsl:value-of select="@name"/>
-            </strong>
-            <xsl:text>(</xsl:text>
-            <xsl:if test="params">
-               <xsl:apply-templates select="params/param"/>
-            </xsl:if>
-            <xsl:text>)</xsl:text>
-         </code>
-      </p>
-      <p>
-         <xsl:apply-templates select="comment/description"/>
-      </p>
-      <xsl:if test="params">
-         <h3>Parameters</h3>
-         <xsl:apply-templates select="params/param" mode="detail"/>
-      </xsl:if>
-      <xsl:if test="@type != 'void'">
-         <h3>Returns</h3>
-            <p>
-               <code>
-                  <xsl:value-of select="@fulltype"/>
-               </code>
-               <xsl:if test="string-length(@returncomment) > 0">
-                  <xsl:text> - </xsl:text>
-                  <xsl:value-of select="@returncomment" disable-output-escaping="yes"/>
-               </xsl:if>
-            </p>
-      </xsl:if>
-      <xsl:if test="exceptions">
-         <h3>Throws:</h3>
-         <xsl:apply-templates select="exceptions/exception" mode="detail"/>
-      </xsl:if>
-      <hr/>
-      
-    </xsl:template>
-    
-    <xsl:template match="param" mode="detail">
-         <p>
-            <code>
-               <xsl:value-of select="@name"/>
-            </code>
-            <xsl:if test="string-length(@comment) > 0">
-               <xsl:text> - </xsl:text>
-               <xsl:value-of select="@comment" disable-output-escaping="yes"/>
-            </xsl:if>
-         </p>
-    </xsl:template>
-    
-    <xsl:template match="exception" mode="detail">
-      <p>
-         <code>
-            <xsl:value-of select="@fulltype"/>
-            <xsl:if test="string-length(@comment) > 0">
-               <xsl:text> - </xsl:text>
-               <xsl:value-of select="@comment" disable-output-escaping="yes"/>
-            </xsl:if>
-         </code>
-      </p>
-    </xsl:template>
-       
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/jeltotoc.xsl b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/jeltotoc.xsl
deleted file mode 100644
index 38f5082..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/jeltotoc.xsl
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/*******************************************************************************
- * Copyright (c) 2008 Standards for Technology in Automotive Retail and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Carver - bug 231472 - initial API and implementation
- *******************************************************************************/
- -->
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-   xmlns:set="http://exslt.org/sets"
-   xmlns:xalan="http://xml.apache.org/xalan"
-    exclude-result-prefixes="set xalan"
->
-   <xsl:param name="sdkname">Some Name</xsl:param>
-   <xsl:param name="dir">doc/html</xsl:param>   
-   <xsl:output indent="yes" encoding="UTF-8" xalan:indent-amount="3"/>
-   <xsl:key name="allPackages" match="jelclass" use="@package"/>
-     
-   <xsl:template match="/jel">
-      <toc label="{$sdkname}">
-         <topic label="Reference">
-            <xsl:for-each select="set:distinct(jelclass/@package)">
-               <topic label="{.}">
-                  <xsl:apply-templates select="key('allPackages', .)"/>
-               </topic>
-            </xsl:for-each>
-         </topic>
-      </toc>
-   </xsl:template>
-   
-   <xsl:template match="jelclass">
-      <topic label="{@fulltype}" href="{$dir}/{@fulltype}.html"/>
-   </xsl:template>
-   
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/schema.css b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/schema.css
deleted file mode 100644
index fb2028d..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/schema.css
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-H6.SchemaHeader {
-	font-size:16px; 
-	display:inline
-}
-
-P.SchemaCopyright {
-	font-size: smaller; 
-	font-style: normal;
-	color: #336699; 
-	display:inline;
-	margin-top: 3.000000pt;
-	margin-bottom: 11.000000pt;
-	margin-right: 0.000000pt;
-	margin-left: 0.000000pt;
-}
-
-P.SchemaDtd {
-	color: #800000; 
-	margin-top: 0.000000pt;
-	margin-bottom: 0.000000pt;
-	margin-right: 0.000000pt;
-	margin-left: 10.000000pt;
-}
-
-P.SchemaDtdAttlist {
-	color: #800000; 
-	margin-top: 0.000000pt;
-	margin-bottom: 0.000000pt;
-	margin-right: 0.000000pt;
-	margin-left: 20.000000pt;
-}
-
-span.SchemaTag {
-	color: #000080;
-}
-
-span.SchemaCstring {
-	color: #008000;
-}
-
-pre.Example {
-	margin-top: 0.000000pt;
-}
-
-.ConfigMarkupElementDesc {
-	color: black;
-	margin-top: 0.000000pt;
-	margin-bottom: 0.000000pt;
-	margin-right: 0.000000pt;
-	margin-left: 10.000000pt;
-}
-
-.ConfigMarkupAttlistDesc {
-	color: black;
-	margin-top: 0.000000pt;
-	margin-bottom: 0.000000pt;
-	margin-right: 0.000000pt;
-	margin-left: 32.000000pt;
-}
-
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/lib/.cvsignore b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/lib/.cvsignore
deleted file mode 100644
index 99dafc7..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/lib/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-jeldoclet.jar
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/plugin.properties b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/plugin.properties
deleted file mode 100644
index 98d038f..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/plugin.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2005-2009 Standards for Technology in Automotive Retail and others
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     David Carver - STAR - bug 215126, 213853
-#     
-###############################################################################
-
-providerName=Eclipse Web Tools
-pluginName=XPath 2.0 Processor SDK Documentation
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/plugin.xml b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/plugin.xml
deleted file mode 100644
index 185b42e..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-
-   <extension
-         point="org.eclipse.help.toc">
-      <toc
-            file="toc.xml"
-            primary="true">
-      </toc>
-   </extension>
-
-</plugin>
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/src/org/eclipse/wst/xml/xpath2/processor/sdk/doc/Activator.java b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/src/org/eclipse/wst/xml/xpath2/processor/sdk/doc/Activator.java
deleted file mode 100644
index ee3cbd6..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/src/org/eclipse/wst/xml/xpath2/processor/sdk/doc/Activator.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.wst.xml.xpath2.processor.sdk.doc;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends Plugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.wst.xml.xpath2.processor.sdk.doc";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-}
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/toc.xml b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/toc.xml
deleted file mode 100644
index cb8ea96..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/toc.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><toc label="XPath 2.0 Processor SDK Documentaiton">
-   <topic label="Reference">
-      <topic label="org.eclipse.wst.xml.xpath2.processor">
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.DOMBuilder.html" label="org.eclipse.wst.xml.xpath2.processor.DOMBuilder"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.DOMLoader.html" label="org.eclipse.wst.xml.xpath2.processor.DOMLoader"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.DOMLoaderException.html" label="org.eclipse.wst.xml.xpath2.processor.DOMLoaderException"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultDynamicContext.html" label="org.eclipse.wst.xml.xpath2.processor.DefaultDynamicContext"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.html" label="org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.DynamicContext.html" label="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.DynamicError.html" label="org.eclipse.wst.xml.xpath2.processor.DynamicError"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.Evaluator.html" label="org.eclipse.wst.xml.xpath2.processor.Evaluator"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.JFlexCupParser.html" label="org.eclipse.wst.xml.xpath2.processor.JFlexCupParser"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.ResultSequence.html" label="org.eclipse.wst.xml.xpath2.processor.ResultSequence"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory.html" label="org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.StaticChecker.html" label="org.eclipse.wst.xml.xpath2.processor.StaticChecker"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.StaticContext.html" label="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.StaticError.html" label="org.eclipse.wst.xml.xpath2.processor.StaticError"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.html" label="org.eclipse.wst.xml.xpath2.processor.StaticNameResolver"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.XPathException.html" label="org.eclipse.wst.xml.xpath2.processor.XPathException"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.XPathParser.html" label="org.eclipse.wst.xml.xpath2.processor.XPathParser"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.XPathParserException.html" label="org.eclipse.wst.xml.xpath2.processor.XPathParserException"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.XercesLoader.html" label="org.eclipse.wst.xml.xpath2.processor.XercesLoader"/>
-      </topic>
-      <topic label="org.eclipse.wst.xml.xpath2.processor.ast">
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.ast.XPath.html" label="org.eclipse.wst.xml.xpath2.processor.ast.XPath"/>
-      </topic>
-      <topic label="org.eclipse.wst.xml.xpath2.processor.function">
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.function.FnFunctionLibrary.html" label="org.eclipse.wst.xml.xpath2.processor.function.FnFunctionLibrary"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.function.XSCtrLibrary.html" label="org.eclipse.wst.xml.xpath2.processor.function.XSCtrLibrary"/>
-      </topic>
-      <topic label="org.eclipse.wst.xml.xpath2.processor.internal.types">
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.AnySimpleType.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.AnySimpleType"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.AttrType.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.AttrType"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.CommentType.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.CommentType"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.DocType.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.DocType"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.ElementType.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.ElementType"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.PIType.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.PIType"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.QName.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.QName"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.TextType.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.TextType"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XPathDecimalFormat.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XPathDecimalFormat"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSBase64Binary.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSBase64Binary"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSByte.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSByte"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDayTimeDuration.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDayTimeDuration"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSEntity.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSEntity"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGDay.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGDay"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonth.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonth"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonthDay.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonthDay"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYear.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYear"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYearMonth.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYearMonth"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSHexBinary.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSHexBinary"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSID.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSID"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSIDREF.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSIDREF"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSInt.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSInt"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSLong.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSLong"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNegativeInteger.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNegativeInteger"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonNegativeInteger.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonNegativeInteger"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonPositiveInteger.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonPositiveInteger"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNotation.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNotation"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSPositiveInteger.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSPositiveInteger"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSShort.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSShort"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSString.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSString"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSTime.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSTime"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedByte.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedByte"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedInt.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedInt"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedLong.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedLong"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedShort.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedShort"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUntypedAtomic.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUntypedAtomic"/>
-         <topic href="doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSYearMonthDuration.html" label="org.eclipse.wst.xml.xpath2.processor.internal.types.XSYearMonthDuration"/>
-      </topic>
-   </topic>
-</toc>
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/.project b/features/org.eclipse.wst.xml.xpath2.processor.feature/.project
deleted file mode 100644
index beca27f..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.xml.xpath2.processor.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/about.html b/features/org.eclipse.wst.xml.xpath2.processor.feature/about.html
deleted file mode 100644
index ed30003..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>August, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/build.properties b/features/org.eclipse.wst.xml.xpath2.processor.feature/build.properties
deleted file mode 100644
index b3a611b..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/build.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-bin.includes = feature.xml,\
-               feature.properties
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/epl-v10.html b/features/org.eclipse.wst.xml.xpath2.processor.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/feature.properties b/features/org.eclipse.wst.xml.xpath2.processor.feature/feature.properties
deleted file mode 100644
index 04618eb..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/feature.properties
+++ /dev/null
@@ -1,138 +0,0 @@
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=PscyhoPath XPath 2.0 Processor Feature
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=XPath 2.0 Processor
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2009 Andrea Bittau, David Carver, Mukul Gandhi, and others 2008.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    Doug Satchwell (Chase Technology Ltd - http://www.chasetechnology.co.uk)\n\
-    David Carver (Standards for Technology in Automotive Retail - http://www.starstandard.org)\n\
-    Jesper Moller (NineConsult - http://www.nineconsult.dk)\n\
-    Mukul Gandhi\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-June 06, 2007\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/feature.xml b/features/org.eclipse.wst.xml.xpath2.processor.feature/feature.xml
deleted file mode 100644
index 1c5a35b..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/feature.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.xml.xpath2.processor.feature"
-      label="%featureName"
-      version="1.1.003.qualifier"
-      provider-name="%provider"
-      plugin="org.eclipse.wst.xml.xpath2">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license>
-      %license
-   </license>
-
-   <plugin
-         id="java_cup.runtime"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.xerces"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.xml.xpath2.processor"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.xml.xpath2"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.wst.xml.xpath2.processor.doc.user"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/license.html b/features/org.eclipse.wst.xml.xpath2.processor.feature/license.html
deleted file mode 100644
index 303e665..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/license.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>June 06, 2007</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). USE OF 
-THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE 
-TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED 
-BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED 
-BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE 
-AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE 
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY 
-APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU 
-MAY NOT USE THE CONTENT.</P>
-<H3>Applicable Licenses</H3>
-<P>Unless otherwise indicated, all Content made available by the Eclipse 
-Foundation is provided to you under the terms and conditions of the Eclipse 
-Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this 
-Content and is also available at <A 
-href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-<P>Content includes, but is not limited to, source code, object code, 
-documentation and other files maintained in the Eclipse.org CVS repository 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). Abouts and Feature Licenses may be located in any 
-directory of a Download or Module including, but not limited to the following 
-locations:</P>
-<UL>
-  <LI>The top-level (root) directory 
-  <LI>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <LI>Feature directories </LI></UL>
-<P>Note: if a Feature made available by the Eclipse Foundation is installed 
-using the Eclipse Update Manager, you must agree to a license ("Feature Update 
-License") during the installation process. If the Feature contains Included 
-Features, the Feature Update License should either provide you with the terms 
-and conditions governing the Included Features or inform you where you can 
-locate them. Feature Update Licenses may be found in the "license" property of 
-files named "feature.properties". Such Abouts, Feature Licenses and Feature 
-Update Licenses contain the terms and conditions (or references to such terms 
-and conditions) that govern your use of the associated Content in that 
-directory.</P>
-<P>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL 
-OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE 
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</P>
-<UL>
-  <LI>Common Public License Version 1.0 (available at <A 
-  href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</A>)
-
-  <LI>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>)
-
-  <LI>Apache Software License 2.0 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</A>)
-
-  <LI>IBM Public License 1.0 (available at <A 
-  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>)
-  <LI>Metro Link Public License 1.00 (available at <A 
-  href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</A>) 
-  
-  <LI>Mozilla Public License Version 1.1 (available at <A 
-  href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</A>) </LI>
-  
-  <li>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.html)</A>
-  </LI>
-</UL>
-<P>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR 
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License is 
-provided, please contact the Eclipse Foundation to determine what terms and 
-conditions govern that particular Content.</P>
-<H3>Cryptography</H3>
-<P>Content may contain encryption software. The country in which you are 
-currently may have restrictions on the import, possession, and use, and/or 
-re-export to another country, of encryption software. BEFORE using any 
-encryption software, please check the country's laws, regulations and policies 
-concerning the import, possession, or use, and re-export of encryption software, 
-to see if this is permitted.</P></BODY></HTML>
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/about.html b/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/about.html
deleted file mode 100644
index 0799bdb..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/about.ini b/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/about.ini
deleted file mode 100644
index fda5a40..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=wtp_prod32.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/about.mappings b/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/about.properties b/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/about.properties
deleted file mode 100644
index 3bf1ba7..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/about.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=WTP XSL Source\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Doug Satchwell (Chase Technology Ltd), David Carver (Standards for Technology in Automotive Retail)\n\
-and others 2008. All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/build.properties b/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/build.properties
deleted file mode 100644
index 30a575c..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-
-bin.includes = about.html, about.ini, about.mappings, about.properties, wtp_prod32.png, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/plugin.properties b/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/plugin.properties
deleted file mode 100644
index e8a5173..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pluginName=WTP PsychoPath XPath 2.0 Processor
-providerName=Eclipse.org
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/wtp_prod32.gif b/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/wtp_prod32.gif
deleted file mode 100644
index eefb44a..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/wtp_prod32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/wtp_prod32.png b/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/wtp_prod32.png
deleted file mode 100644
index bfceab3..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateBundle/wtp_prod32.png
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateFeature/build.properties b/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateFeature/build.properties
deleted file mode 100644
index f249e9f..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes =\
-epl-v10.html,\
-eclipse_update_120.jpg,\
-feature.xml,\
-feature.properties,\
-license.html
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateFeature/eclipse_update_120.jpg b/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateFeature/epl-v10.html b/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateFeature/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateFeature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index 7c39ada..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,138 +0,0 @@
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=PsychoPath XPath 2.0 Processor Feature
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=Source code WTP PsychoPath XPath 2.0 processor.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2009 Andrea Bittau,\n\
-David Carver (Standards for Technology in Automotive Retail), Mukul Gandhi and others 2009.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    Andrea Bittau - initial code and implementation\n\
-    David Carver (Standards for Technology in Automotive Retail - http://www.starstandard.org)\n\
-    Mukul Gandhi\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-June, 2008\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateFeature/license.html b/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateFeature/license.html
deleted file mode 100644
index fec4a48..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplateFeature/license.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>June 06, 2007</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.html)</A>
-  </LI>
-</UL>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/about.html b/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index 2199df3..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index fda5a40..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=wtp_prod32.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index e7c98b1..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=WTP XSL Source\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Doug Satchwell (Chase Technology Ltd), David Carver (Standards for Technology in Automotive Retail)\n\
-and others 2008. All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index 30a575c..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-
-bin.includes = about.html, about.ini, about.mappings, about.properties, wtp_prod32.png, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index c2341ca..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pluginName=WTP XSL Source
-providerName=Eclipse.org
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/wtp_prod32.gif b/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/wtp_prod32.gif
deleted file mode 100644
index eefb44a..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/wtp_prod32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/wtp_prod32.png b/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/wtp_prod32.png
deleted file mode 100644
index bfceab3..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.feature/sourceTemplatePlugin/wtp_prod32.png
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/.project b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/.project
deleted file mode 100644
index 2ea270a..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.xml.xpath2.processor.sdk.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/about.html b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/about.html
deleted file mode 100644
index ed30003..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>August, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/build.properties b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/build.properties
deleted file mode 100644
index b2d5768..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-bin.includes = feature.xml,\
-               feature.properties,\
-               epl-v10.html,\
-               about.html,\
-               license.html
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/epl-v10.html b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/feature.properties b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/feature.properties
deleted file mode 100644
index 1d2bea3..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/feature.properties
+++ /dev/null
@@ -1,138 +0,0 @@
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=PscyhoPath XPath 2.0 Processor SDK Feature
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=XPath 2.0 Processor SDK
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2009 Andrea Bittau, David Carver, Mukul Gandhi, and others 2008.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    Doug Satchwell (Chase Technology Ltd - http://www.chasetechnology.co.uk)\n\
-    David Carver (Standards for Technology in Automotive Retail - http://www.starstandard.org)\n\
-    Jesper Moller (NineConsult - http://www.nineconsult.dk)\n\
-    Mukul Gandhi\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-June 06, 2007\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/feature.xml b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/feature.xml
deleted file mode 100644
index a4ee797..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/feature.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.xml.xpath2.processor.sdk.feature"
-      label="%featureName"
-      version="1.1.0.qualifier"
-      provider-name="%providerName"
-      plugin="org.eclipse.wst.xml.xpath2">
-
-   <description url="http://www.example.com/description">
-      %description
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      %copyright
-   </copyright>
-
-   <license url="http://www.example.com/license">
-      %license
-   </license>
-
-   <includes
-         id="org.eclipse.wst.xml.xpath2.processor.feature"
-         version="0.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/license.html b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/license.html
deleted file mode 100644
index 303e665..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/license.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>June 06, 2007</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). USE OF 
-THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE 
-TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED 
-BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED 
-BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE 
-AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE 
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY 
-APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU 
-MAY NOT USE THE CONTENT.</P>
-<H3>Applicable Licenses</H3>
-<P>Unless otherwise indicated, all Content made available by the Eclipse 
-Foundation is provided to you under the terms and conditions of the Eclipse 
-Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this 
-Content and is also available at <A 
-href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-<P>Content includes, but is not limited to, source code, object code, 
-documentation and other files maintained in the Eclipse.org CVS repository 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). Abouts and Feature Licenses may be located in any 
-directory of a Download or Module including, but not limited to the following 
-locations:</P>
-<UL>
-  <LI>The top-level (root) directory 
-  <LI>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <LI>Feature directories </LI></UL>
-<P>Note: if a Feature made available by the Eclipse Foundation is installed 
-using the Eclipse Update Manager, you must agree to a license ("Feature Update 
-License") during the installation process. If the Feature contains Included 
-Features, the Feature Update License should either provide you with the terms 
-and conditions governing the Included Features or inform you where you can 
-locate them. Feature Update Licenses may be found in the "license" property of 
-files named "feature.properties". Such Abouts, Feature Licenses and Feature 
-Update Licenses contain the terms and conditions (or references to such terms 
-and conditions) that govern your use of the associated Content in that 
-directory.</P>
-<P>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL 
-OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE 
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</P>
-<UL>
-  <LI>Common Public License Version 1.0 (available at <A 
-  href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</A>)
-
-  <LI>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>)
-
-  <LI>Apache Software License 2.0 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</A>)
-
-  <LI>IBM Public License 1.0 (available at <A 
-  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>)
-  <LI>Metro Link Public License 1.00 (available at <A 
-  href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</A>) 
-  
-  <LI>Mozilla Public License Version 1.1 (available at <A 
-  href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</A>) </LI>
-  
-  <li>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.html)</A>
-  </LI>
-</UL>
-<P>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR 
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License is 
-provided, please contact the Eclipse Foundation to determine what terms and 
-conditions govern that particular Content.</P>
-<H3>Cryptography</H3>
-<P>Content may contain encryption software. The country in which you are 
-currently may have restrictions on the import, possession, and use, and/or 
-re-export to another country, of encryption software. BEFORE using any 
-encryption software, please check the country's laws, regulations and policies 
-concerning the import, possession, or use, and re-export of encryption software, 
-to see if this is permitted.</P></BODY></HTML>
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/about.html b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/about.html
deleted file mode 100644
index 0799bdb..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/about.ini b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/about.ini
deleted file mode 100644
index fda5a40..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=wtp_prod32.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/about.mappings b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/about.properties b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/about.properties
deleted file mode 100644
index 3bf1ba7..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/about.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=WTP XSL Source\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Doug Satchwell (Chase Technology Ltd), David Carver (Standards for Technology in Automotive Retail)\n\
-and others 2008. All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/build.properties b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/build.properties
deleted file mode 100644
index 30a575c..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-
-bin.includes = about.html, about.ini, about.mappings, about.properties, wtp_prod32.png, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/plugin.properties b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/plugin.properties
deleted file mode 100644
index e8a5173..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pluginName=WTP PsychoPath XPath 2.0 Processor
-providerName=Eclipse.org
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/wtp_prod32.gif b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/wtp_prod32.gif
deleted file mode 100644
index eefb44a..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/wtp_prod32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/wtp_prod32.png b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/wtp_prod32.png
deleted file mode 100644
index bfceab3..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateBundle/wtp_prod32.png
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateFeature/build.properties b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateFeature/build.properties
deleted file mode 100644
index f249e9f..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes =\
-epl-v10.html,\
-eclipse_update_120.jpg,\
-feature.xml,\
-feature.properties,\
-license.html
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateFeature/eclipse_update_120.jpg b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateFeature/epl-v10.html b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateFeature/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateFeature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index 7c39ada..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,138 +0,0 @@
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=PsychoPath XPath 2.0 Processor Feature
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=Source code WTP PsychoPath XPath 2.0 processor.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2009 Andrea Bittau,\n\
-David Carver (Standards for Technology in Automotive Retail), Mukul Gandhi and others 2009.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    Andrea Bittau - initial code and implementation\n\
-    David Carver (Standards for Technology in Automotive Retail - http://www.starstandard.org)\n\
-    Mukul Gandhi\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-June, 2008\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateFeature/license.html b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateFeature/license.html
deleted file mode 100644
index fec4a48..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplateFeature/license.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>June 06, 2007</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.html)</A>
-  </LI>
-</UL>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/about.html b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index 2199df3..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index fda5a40..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=wtp_prod32.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index e7c98b1..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=WTP XSL Source\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Doug Satchwell (Chase Technology Ltd), David Carver (Standards for Technology in Automotive Retail)\n\
-and others 2008. All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index 30a575c..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-
-bin.includes = about.html, about.ini, about.mappings, about.properties, wtp_prod32.png, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index c2341ca..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pluginName=WTP XSL Source
-providerName=Eclipse.org
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/wtp_prod32.gif b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/wtp_prod32.gif
deleted file mode 100644
index eefb44a..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/wtp_prod32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/wtp_prod32.png b/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/wtp_prod32.png
deleted file mode 100644
index bfceab3..0000000
--- a/features/org.eclipse.wst.xml.xpath2.processor.sdk.feature/sourceTemplatePlugin/wtp_prod32.png
+++ /dev/null
Binary files differ