diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.AtomicItemType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.AtomicItemType.html
new file mode 100644
index 0000000..676ecf0
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.AtomicItemType.html
@@ -0,0 +1,7 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api</strong></font><br>
+               Class AtomicItemType</h2><br><hr><pre>public class <strong>AtomicItemType</strong>
+extends </pre>Defines an sequence or item of atomic types.<p></p><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.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns the schema type of the sequence or 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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p>Returns the schema type of the sequence or type.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code> - The Schema type of the sequence or item.</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.api.CollationProvider.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.CollationProvider.html
new file mode 100644
index 0000000..b9e09e1
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.CollationProvider.html
@@ -0,0 +1,21 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api</strong></font><br>
+               Class CollationProvider</h2><br><hr><pre>public class <strong>CollationProvider</strong>
+extends </pre>Service provider interface for looking up collations from within the
+ dynamic context.
+ 
+ Definition from the XPath2 specification: A collation is a specification of
+ the manner in which strings and URIs are compared and, by extension,
+ ordered. For a more complete definition of collation, see [XQuery 1.0 and
+ XPath 2.0 Functions and Operators (Second Edition)].<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>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_CODEPOINT_COLLATION">CODEPOINT_COLLATION</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               The default collation which is guaranteed to always be implemented</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.Comparator</code></td><td width="" align="left"><code><a href="#method_getCollation">getCollation</a>(java.lang.String name)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Gets the named collator. W3C does not define collation names (yet?) so
+ we are constrained to using an implementation-defined naming scheme.</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_getDefaultCollation">getDefaultCollation</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>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_CODEPOINT_COLLATION">CODEPOINT_COLLATION</a></h2><p><code>public static  java.lang.String <strong>CODEPOINT_COLLATION</strong></code></p><table><tr><td>The default collation which is guaranteed to always be implemented</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_getCollation">getCollation</a></h2><p><code>public java.util.Comparator <strong>getCollation</strong>(java.lang.String name)</code></p><p>Gets the named collator. W3C does not define collation names (yet?) so
+ we are constrained to using an implementation-defined naming scheme.</p><h3>Parameters</h3><p><code>name</code> - A URI designating the collation to use</p><h3>Returns</h3><p><code>java.util.Comparator</code> - The collation to use, or null if no such collation exists by          this provider</p><hr><h2><a name="method_getDefaultCollation">getDefaultCollation</a></h2><p><code>public java.lang.String <strong>getDefaultCollation</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.api.DynamicContext.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.DynamicContext.html
new file mode 100644
index 0000000..ce7f8b9
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.DynamicContext.html
@@ -0,0 +1,124 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api</strong></font><br>
+               Class DynamicContext</h2><br><hr><pre>public class <strong>DynamicContext</strong>
+extends </pre>Interface for dynamic context. This covers the Dynamic Context as defined by the XPath2 specification, EXCEPT for 
+ context item and size (handled in EvaluationContext)<p></p><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.api.CollationProvider</code></td><td width="" align="left"><code><a href="#method_getCollationProvider">getCollationProvider</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Actual collation providers available for use dynamically. This could
+ differ from the collations available statically, but would give
+ unexpected results.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Map</code></td><td width="" align="left"><code><a href="#method_getCollections">getCollections</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [Definition: Available collections. This is a mapping of
+ strings onto sequences of nodes. The string represents the absolute URI
+ of a resource. The sequence of nodes represents the result of the
+ fn:collection function when that URI is supplied as the argument. ] The
+ set of available collections is not limited to the set of statically
+ known collections, and it may be empty. For every document node D that
+ is in the target of a mapping in available collections, or that is the
+ root of a tree containing such a node, the document-uri property of D
+ must either be absent, or must be a URI U such that available documents
+ contains a mapping from U to D." Note: This means that for any document
+ node $N retrieved using the fn:collection function, either directly or
+ by navigating to the root of a node that was returned, the result of
+ fn:doc(fn:document-uri($N)) is $N will always be True, unless
+ fn:document-uri($N) is an empty sequence. This implies a requirement
+ for the fn:doc and fn:collection functions to be consistent in their
+ effect. If the implementation uses catalogs or user-supplied URI
+ resolvers to dereference URIs supplied to the fn:doc function, the
+ implementation of the fn:collection function must take these mechanisms
+ into account. For example, an implementation might achieve this by
+ mapping the collection URI to a set of document URIs, which are then
+ resolved using the same catalog or URI resolver that is used by the
+ fn:doc function.</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_getCurrentDateTime">getCurrentDateTime</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [Definition: Current dateTime. This
+ information represents an implementation-dependent point in time during
+ the processing of an expression, and includes an explicit timezone. It
+ can be retrieved by the fn:current-dateTime function. If invoked
+ multiple times during the execution of an expression, this function
+ always returns the same result.]
+
+ Returns the current date time using the GregorianCalendar.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getDefaultCollection">getDefaultCollection</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [Definition: Default collection. This is the sequence
+ of nodes that would result from calling the fn:collection function with
+ no arguments.] The value of default collection may be initialized by
+ the implementation.</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_getDocument">getDocument</a>(java.net.URI uri)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [Definition: Available documents. This is a mapping of
+ strings onto document nodes. The string represents the absolute URI of
+ a resource. The document node is the root of a tree that represents
+ that resource using the data model. The document node is returned by
+ the fn:doc function when applied to that URI.] The set of available
+ documents is not limited to the set of statically known documents, and
+ it may be empty. If there are one or more URIs in available documents
+ that map to a document node D, then the document-uri property of D must
+ either be absent, or must be one of these URIs. Note: This means that
+ given a document node $N, the result of fn:doc(fn:document-uri($N)) is
+ $N will always be True, unless fn:document-uri($N) is an empty
+ sequence.</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_getLimitNode">getLimitNode</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns a "top" node which the XPath2 engine is not allowed to
+ leave</td></tr><tr valign="top"><td width="20%" align="right"><code>public javax.xml.datatype.Duration</code></td><td width="" align="left"><code><a href="#method_getTimezoneOffset">getTimezoneOffset</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [Definition: Implicit timezone. This
+ is the timezone to be used when a date, time, or dateTime value that
+ does not have a timezone is used in a comparison or arithmetic
+ operation. The implicit timezone is an implementation-defined value of
+ type xs:dayTimeDuration. See [XML Schema] for the range of legal values
+ of a timezone.]</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_getVariable">getVariable</a>(javax.xml.namespace.QName name)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get variable.</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_resolveUri">resolveUri</a>(java.lang.String uri)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Resolve an URI</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_getCollationProvider">getCollationProvider</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.CollationProvider <strong>getCollationProvider</strong>()</code></p><p>Actual collation providers available for use dynamically. This could
+ differ from the collations available statically, but would give
+ unexpected results.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.CollationProvider</code></p><hr><h2><a name="method_getCollections">getCollections</a></h2><p><code>public java.util.Map <strong>getCollections</strong>()</code></p><p>[Definition: Available collections. This is a mapping of
+ strings onto sequences of nodes. The string represents the absolute URI
+ of a resource. The sequence of nodes represents the result of the
+ fn:collection function when that URI is supplied as the argument. ] The
+ set of available collections is not limited to the set of statically
+ known collections, and it may be empty. For every document node D that
+ is in the target of a mapping in available collections, or that is the
+ root of a tree containing such a node, the document-uri property of D
+ must either be absent, or must be a URI U such that available documents
+ contains a mapping from U to D." Note: This means that for any document
+ node $N retrieved using the fn:collection function, either directly or
+ by navigating to the root of a node that was returned, the result of
+ fn:doc(fn:document-uri($N)) is $N will always be True, unless
+ fn:document-uri($N) is an empty sequence. This implies a requirement
+ for the fn:doc and fn:collection functions to be consistent in their
+ effect. If the implementation uses catalogs or user-supplied URI
+ resolvers to dereference URIs supplied to the fn:doc function, the
+ implementation of the fn:collection function must take these mechanisms
+ into account. For example, an implementation might achieve this by
+ mapping the collection URI to a set of document URIs, which are then
+ resolved using the same catalog or URI resolver that is used by the
+ fn:doc function.</p><h3>Returns</h3><p><code>java.util.Map</code></p><hr><h2><a name="method_getCurrentDateTime">getCurrentDateTime</a></h2><p><code>public java.util.GregorianCalendar <strong>getCurrentDateTime</strong>()</code></p><p>[Definition: Current dateTime. This
+ information represents an implementation-dependent point in time during
+ the processing of an expression, and includes an explicit timezone. It
+ can be retrieved by the fn:current-dateTime function. If invoked
+ multiple times during the execution of an expression, this function
+ always returns the same result.]
+
+ 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_getDefaultCollection">getDefaultCollection</a></h2><p><code>public java.util.List <strong>getDefaultCollection</strong>()</code></p><p>[Definition: Default collection. This is the sequence
+ of nodes that would result from calling the fn:collection function with
+ no arguments.] The value of default collection may be initialized by
+ the implementation.</p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_getDocument">getDocument</a></h2><p><code>public org.w3c.dom.Document <strong>getDocument</strong>(java.net.URI uri)</code></p><p>[Definition: Available documents. This is a mapping of
+ strings onto document nodes. The string represents the absolute URI of
+ a resource. The document node is the root of a tree that represents
+ that resource using the data model. The document node is returned by
+ the fn:doc function when applied to that URI.] The set of available
+ documents is not limited to the set of statically known documents, and
+ it may be empty. If there are one or more URIs in available documents
+ that map to a document node D, then the document-uri property of D must
+ either be absent, or must be one of these URIs. Note: This means that
+ given a document node $N, the result of fn:doc(fn:document-uri($N)) is
+ $N will always be True, unless fn:document-uri($N) is an empty
+ sequence.</p><h3>Parameters</h3><p><code>uri</code> - is the URI of the document.</p><h3>Returns</h3><p><code>org.w3c.dom.Document</code> - document.</p><hr><h2><a name="method_getLimitNode">getLimitNode</a></h2><p><code>public org.w3c.dom.Node <strong>getLimitNode</strong>()</code></p><p>Returns a "top" node which the XPath2 engine is not allowed to
+ leave</p><h3>Returns</h3><p><code>org.w3c.dom.Node</code> - DOM node which limits axis navigation.</p><hr><h2><a name="method_getTimezoneOffset">getTimezoneOffset</a></h2><p><code>public javax.xml.datatype.Duration <strong>getTimezoneOffset</strong>()</code></p><p>[Definition: Implicit timezone. This
+ is the timezone to be used when a date, time, or dateTime value that
+ does not have a timezone is used in a comparison or arithmetic
+ operation. The implicit timezone is an implementation-defined value of
+ type xs:dayTimeDuration. See [XML Schema] for the range of legal values
+ of a timezone.]</p><h3>Returns</h3><p><code>javax.xml.datatype.Duration</code> - current date time and implicit timezone.</p><hr><h2><a name="method_getVariable">getVariable</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>getVariable</strong>(javax.xml.namespace.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.api.ResultSequence</code> - variable.</p><hr><h2><a name="method_resolveUri">resolveUri</a></h2><p><code>public java.net.URI <strong>resolveUri</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></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.api.EvaluationContext.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.EvaluationContext.html
new file mode 100644
index 0000000..5360cb6
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.EvaluationContext.html
@@ -0,0 +1,73 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api</strong></font><br>
+               Class EvaluationContext</h2><br><hr><pre>public class <strong>EvaluationContext</strong>
+extends </pre><p></p><p></p><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.api.Item</code></td><td width="" align="left"><code><a href="#method_getContextItem">getContextItem</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Definition: The context item is the item currently being processed. An
+ item is either an atomic value or a node.
+ Definition: When the context
+ item is a node, it can also be referred to as the context node.
+ 
+ The
+ context item is returned by an expression consisting of a single dot
+ (.). When an expression E1/E2 or E1[E2] is evaluated, each item in the
+ sequence obtained by evaluating E1 becomes the context item in the
+ inner focus for an evaluation of E2.</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getContextPosition">getContextPosition</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [Definition: The context position
+ is the position of the context item within the sequence of items
+ currently being processed.] It changes whenever the context item
+ changes. When the focus is defined, the value of the context position
+ is an integer greater than zero. The context position is returned by
+ the expression fn:position(). When an expression E1/E2 or E1[E2] is
+ evaluated, the context position in the inner focus for an evaluation of
+ E2 is the position of the context item in the sequence obtained by
+ evaluating E1. The position of the first item in a sequence is always 1
+ (one). The context position is always less than or equal to the context
+ size.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.DynamicContext</code></td><td width="" align="left"><code><a href="#method_getDynamicContext">getDynamicContext</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getLastPosition">getLastPosition</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [Definition: The context size is the number of items in the
+ sequence of items currently being processed.] Its value is always an
+ integer greater than zero. The context size is returned by the
+ expression fn:last(). When an expression E1/E2 or E1[E2] is evaluated,
+ the context size in the inner focus for an evaluation of E2 is the
+ number of items in the sequence obtained by evaluating E1. [Definition:
+ Variable values. This is a set of (expanded QName, value) pairs. It
+ contains the same expanded QNames as the in-scope variables in the
+ static context for the expression. The expanded QName is the name of
+ the variable and the value is the dynamic value of the variable, which
+ includes its dynamic type.]</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.StaticContext</code></td><td width="" align="left"><code><a href="#method_getStaticContext">getStaticContext</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>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getContextItem">getContextItem</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.Item <strong>getContextItem</strong>()</code></p><p>Definition: The context item is the item currently being processed. An
+ item is either an atomic value or a node.
+ Definition: When the context
+ item is a node, it can also be referred to as the context node.
+ 
+ The
+ context item is returned by an expression consisting of a single dot
+ (.). When an expression E1/E2 or E1[E2] is evaluated, each item in the
+ sequence obtained by evaluating E1 becomes the context item in the
+ inner focus for an evaluation of E2.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.Item</code></p><hr><h2><a name="method_getContextPosition">getContextPosition</a></h2><p><code>public int <strong>getContextPosition</strong>()</code></p><p>[Definition: The context position
+ is the position of the context item within the sequence of items
+ currently being processed.] It changes whenever the context item
+ changes. When the focus is defined, the value of the context position
+ is an integer greater than zero. The context position is returned by
+ the expression fn:position(). When an expression E1/E2 or E1[E2] is
+ evaluated, the context position in the inner focus for an evaluation of
+ E2 is the position of the context item in the sequence obtained by
+ evaluating E1. The position of the first item in a sequence is always 1
+ (one). The context position is always less than or equal to the context
+ size.</p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_getDynamicContext">getDynamicContext</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.DynamicContext <strong>getDynamicContext</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.DynamicContext</code> - The current dynamic context in effect.</p><hr><h2><a name="method_getLastPosition">getLastPosition</a></h2><p><code>public int <strong>getLastPosition</strong>()</code></p><p>[Definition: The context size is the number of items in the
+ sequence of items currently being processed.] Its value is always an
+ integer greater than zero. The context size is returned by the
+ expression fn:last(). When an expression E1/E2 or E1[E2] is evaluated,
+ the context size in the inner focus for an evaluation of E2 is the
+ number of items in the sequence obtained by evaluating E1. [Definition:
+ Variable values. This is a set of (expanded QName, value) pairs. It
+ contains the same expanded QNames as the in-scope variables in the
+ static context for the expression. The expanded QName is the name of
+ the variable and the value is the dynamic value of the variable, which
+ includes its dynamic type.]</p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_getStaticContext">getStaticContext</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.StaticContext <strong>getStaticContext</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.StaticContext</code> - The current static context in effect.</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.api.Function.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.Function.html
new file mode 100644
index 0000000..b7d559c
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.Function.html
@@ -0,0 +1,37 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api</strong></font><br>
+               Class Function</h2><br><hr><pre>public class <strong>Function</strong>
+extends </pre>Support for functions.<p></p><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 boolean</code></td><td width="" align="left"><code><a href="#method_canMatchArity">canMatchArity</a>(int actualArity)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Checks if this function has an to the</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_computeReturnType">computeReturnType</a>(java.util.Collection args
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Evaluate the exact result type.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_evaluate">evaluate</a>(java.util.Collection args
+         ,
+      org.eclipse.wst.xml.xpath2.api.EvaluationContext evaluationContext)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Evaluate arguments.</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_getArgumentNameHint">getArgumentNameHint</a>(int index)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Name hint for the index'th argument,  
+ starting at 0.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getArgumentType">getArgumentType</a>(int index)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns the type of the argument at position index,
+ starting at 0.</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getMaxArity">getMaxArity</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Maximum number of allowed arguments.</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getMinArity">getMinArity</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Minimal number of allowed arguments.</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_getName">getName</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Support for QName interface.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getResultType">getResultType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Gets the return type for the function.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isVariableArgument">isVariableArgument</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Maximum number of allowed arguments.</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_canMatchArity">canMatchArity</a></h2><p><code>public boolean <strong>canMatchArity</strong>(int actualArity)</code></p><p>Checks if this function has an to the</p><h3>Parameters</h3><p><code>actualArity</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_computeReturnType">computeReturnType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>computeReturnType</strong>(java.util.Collection args
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc)</code></p><p>Evaluate the exact result type.</p><h3>Parameters</h3><p><code>args</code> - argument expressions.</p><p><code>sc</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code> - Result of evaluation.</p><hr><h2><a name="method_evaluate">evaluate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>evaluate</strong>(java.util.Collection args
+         ,
+      org.eclipse.wst.xml.xpath2.api.EvaluationContext evaluationContext)</code></p><p>Evaluate arguments.</p><h3>Parameters</h3><p><code>args</code> - argument expressions.</p><p><code>evaluationContext</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.ResultSequence</code> - Result of evaluation.</p><hr><h2><a name="method_getArgumentNameHint">getArgumentNameHint</a></h2><p><code>public java.lang.String <strong>getArgumentNameHint</strong>(int index)</code></p><p>Name hint for the index'th argument,  
+ starting at 0.</p><h3>Parameters</h3><p><code>index</code></p><h3>Returns</h3><p><code>java.lang.String</code> - TypeDefinition for the argument</p><hr><h2><a name="method_getArgumentType">getArgumentType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getArgumentType</strong>(int index)</code></p><p>Returns the type of the argument at position index,
+ starting at 0.</p><h3>Parameters</h3><p><code>index</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code> - TypeDefinition for the argument</p><hr><h2><a name="method_getMaxArity">getMaxArity</a></h2><p><code>public int <strong>getMaxArity</strong>()</code></p><p>Maximum number of allowed arguments.</p><h3>Returns</h3><p><code>int</code> - The highest number of arguments possible</p><hr><h2><a name="method_getMinArity">getMinArity</a></h2><p><code>public int <strong>getMinArity</strong>()</code></p><p>Minimal number of allowed arguments.</p><h3>Returns</h3><p><code>int</code> - The smallest number of arguments possible</p><hr><h2><a name="method_getName">getName</a></h2><p><code>public java.lang.String <strong>getName</strong>()</code></p><p>Support for QName interface.</p><h3>Returns</h3><p><code>java.lang.String</code> - Result of QName operation.</p><hr><h2><a name="method_getResultType">getResultType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getResultType</strong>()</code></p><p>Gets the return type for the function.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code> - TypeDefinition for the argument</p><hr><h2><a name="method_isVariableArgument">isVariableArgument</a></h2><p><code>public boolean <strong>isVariableArgument</strong>()</code></p><p>Maximum number of allowed arguments.</p><h3>Returns</h3><p><code>boolean</code> - The highest number of arguments possible</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.api.FunctionLibrary.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.FunctionLibrary.html
new file mode 100644
index 0000000..8364894
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.FunctionLibrary.html
@@ -0,0 +1,23 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api</strong></font><br>
+               Class FunctionLibrary</h2><br><hr><pre>public class <strong>FunctionLibrary</strong>
+extends </pre>Interface for function libraries support.<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>public static  int</code></td><td width="80%" align="left"><code><a href="#field_VARIABLE_ARITY">VARIABLE_ARITY</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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_functionExists">functionExists</a>(java.lang.String name
+         ,
+      int arity)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Checks whether the function exists or not.</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_getNamespace">getNamespace</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns the namespace of the function library.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.Function</code></td><td width="" align="left"><code><a href="#method_resolveFunction">resolveFunction</a>(java.lang.String localName
+         ,
+      int arity)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Function support.</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_VARIABLE_ARITY">VARIABLE_ARITY</a></h2><p><code>public static  int <strong>VARIABLE_ARITY</strong></code></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_functionExists">functionExists</a></h2><p><code>public boolean <strong>functionExists</strong>(java.lang.String name
+         ,
+      int arity)</code></p><p>Checks whether the function exists or not.</p><h3>Parameters</h3><p><code>name</code> - Name of function.</p><p><code>arity</code> - arity of the function,</p><h3>Returns</h3><p><code>boolean</code> - Result of the test.</p><hr><h2><a name="method_getNamespace">getNamespace</a></h2><p><code>public java.lang.String <strong>getNamespace</strong>()</code></p><p>Returns the namespace of the function library.</p><h3>Returns</h3><p><code>java.lang.String</code> - Namespace.</p><hr><h2><a name="method_resolveFunction">resolveFunction</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.Function <strong>resolveFunction</strong>(java.lang.String localName
+         ,
+      int arity)</code></p><p>Function support.</p><h3>Parameters</h3><p><code>localName</code></p><p><code>arity</code> - arity of the function.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.Function</code> - The function from the library.</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.api.Item.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.Item.html
new file mode 100644
index 0000000..a6a2c42
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.Item.html
@@ -0,0 +1,11 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api</strong></font><br>
+               Class Item</h2><br><hr><pre>public class <strong>Item</strong>
+extends </pre>An item in the XPath2 data model<p></p><p></p><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.api.typesystem.ItemType</code></td><td width="" align="left"><code><a href="#method_getItemType">getItemType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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_getNativeValue">getNativeValue</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_getStringValue">getStringValue</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>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getItemType">getItemType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType <strong>getItemType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code> - A description of the item type.</p><hr><h2><a name="method_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code> - The "Raw" Java object, e.g. org.w3.Node for a node,          java.util.String for strings, etc.</p><hr><h2><a name="method_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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.api.Match.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.Match.html
new file mode 100644
index 0000000..84215e8
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.Match.html
@@ -0,0 +1,11 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api</strong></font><br>
+               Class Match</h2><br><hr><pre>public class <strong>Match</strong>
+extends </pre>A match found by the XPath2 pattern matcher
+ 
+ * @noimplement This interface is not intended to be implemented by clients.<p></p><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.api.XPath2Pattern</code></td><td width="" align="left"><code><a href="#method_getBestMatch">getBestMatch</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns the XPath2 pattern which best matched the input (considering mode and priority)</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getMatchingCount">getMatchingCount</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>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getBestMatch">getBestMatch</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.XPath2Pattern <strong>getBestMatch</strong>()</code></p><p>Returns the XPath2 pattern which best matched the input (considering mode and priority)</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.XPath2Pattern</code> - Pattern which was the best match.</p><hr><h2><a name="method_getMatchingCount">getMatchingCount</a></h2><p><code>public int <strong>getMatchingCount</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code> - The number of matching patterns on the input.</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.api.ResultBuffer.ArrayResultSequence.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.ResultBuffer.ArrayResultSequence.html
new file mode 100644
index 0000000..2574e33
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.ResultBuffer.ArrayResultSequence.html
@@ -0,0 +1,25 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api</strong></font><br>
+               Class ResultBuffer.ArrayResultSequence</h2><br><hr><pre>public class <strong>ResultBuffer.ArrayResultSequence</strong>
+extends java.lang.Object</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_ResultBuffer.ArrayResultSequence">ResultBuffer.ArrayResultSequence</a></strong>(org.eclipse.wst.xml.xpath2.api.Item[] results)</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_empty">empty</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.Item</code></td><td width="" align="left"><code><a href="#method_first">first</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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_firstValue">firstValue</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.Item</code></td><td width="" align="left"><code><a href="#method_item">item</a>(int index)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></td><td width="" align="left"><code><a href="#method_itemType">itemType</a>(int index)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></td><td width="" align="left"><code><a href="#method_sequenceType">sequenceType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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;
+               </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_value">value</a>(int index)</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_ResultBuffer.ArrayResultSequence">ResultBuffer.ArrayResultSequence</a></h2><p><code>public <strong>ResultBuffer.ArrayResultSequence</strong>(org.eclipse.wst.xml.xpath2.api.Item[] results)</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_empty">empty</a></h2><p><code>public boolean <strong>empty</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_first">first</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.Item <strong>first</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.Item</code></p><hr><h2><a name="method_firstValue">firstValue</a></h2><p><code>public java.lang.Object <strong>firstValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_item">item</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.Item <strong>item</strong>(int index)</code></p><p></p><h3>Parameters</h3><p><code>index</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.Item</code></p><hr><h2><a name="method_itemType">itemType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType <strong>itemType</strong>(int index)</code></p><p></p><h3>Parameters</h3><p><code>index</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></p><hr><h2><a name="method_iterator">iterator</a></h2><p><code>public java.util.Iterator <strong>iterator</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Iterator</code></p><hr><h2><a name="method_sequenceType">sequenceType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType <strong>sequenceType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></p><hr><h2><a name="method_size">size</a></h2><p><code>public int <strong>size</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_value">value</a></h2><p><code>public java.lang.Object <strong>value</strong>(int index)</code></p><p></p><h3>Parameters</h3><p><code>index</code></p><h3>Returns</h3><p><code>java.lang.Object</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.api.ResultBuffer.SingleResultSequence.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.ResultBuffer.SingleResultSequence.html
new file mode 100644
index 0000000..667f8d4
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.ResultBuffer.SingleResultSequence.html
@@ -0,0 +1,25 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api</strong></font><br>
+               Class ResultBuffer.SingleResultSequence</h2><br><hr><pre>public class <strong>ResultBuffer.SingleResultSequence</strong>
+extends java.lang.Object</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_ResultBuffer.SingleResultSequence">ResultBuffer.SingleResultSequence</a></strong>(org.eclipse.wst.xml.xpath2.api.Item at)</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_empty">empty</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.Item</code></td><td width="" align="left"><code><a href="#method_first">first</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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_firstValue">firstValue</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.Item</code></td><td width="" align="left"><code><a href="#method_item">item</a>(int index)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></td><td width="" align="left"><code><a href="#method_itemType">itemType</a>(int index)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></td><td width="" align="left"><code><a href="#method_sequenceType">sequenceType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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;
+               </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_value">value</a>(int index)</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_ResultBuffer.SingleResultSequence">ResultBuffer.SingleResultSequence</a></h2><p><code>public <strong>ResultBuffer.SingleResultSequence</strong>(org.eclipse.wst.xml.xpath2.api.Item at)</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_empty">empty</a></h2><p><code>public boolean <strong>empty</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_first">first</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.Item <strong>first</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.Item</code></p><hr><h2><a name="method_firstValue">firstValue</a></h2><p><code>public java.lang.Object <strong>firstValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_item">item</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.Item <strong>item</strong>(int index)</code></p><p></p><h3>Parameters</h3><p><code>index</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.Item</code></p><hr><h2><a name="method_itemType">itemType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType <strong>itemType</strong>(int index)</code></p><p></p><h3>Parameters</h3><p><code>index</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></p><hr><h2><a name="method_iterator">iterator</a></h2><p><code>public java.util.Iterator <strong>iterator</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Iterator</code></p><hr><h2><a name="method_sequenceType">sequenceType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType <strong>sequenceType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></p><hr><h2><a name="method_size">size</a></h2><p><code>public int <strong>size</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_value">value</a></h2><p><code>public java.lang.Object <strong>value</strong>(int index)</code></p><p></p><h3>Parameters</h3><p><code>index</code></p><h3>Returns</h3><p><code>java.lang.Object</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.api.ResultBuffer.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.ResultBuffer.html
new file mode 100644
index 0000000..991c9d6
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.ResultBuffer.html
@@ -0,0 +1,41 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api</strong></font><br>
+               Class ResultBuffer</h2><br><hr><pre>public class <strong>ResultBuffer</strong>
+extends java.lang.Object</pre><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>public static  org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="80%" align="left"><code><a href="#field_EMPTY">EMPTY</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_ResultBuffer">ResultBuffer</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_ResultBuffer.ArrayResultSequence">ResultBuffer.ArrayResultSequence</a></strong>(org.eclipse.wst.xml.xpath2.api.Item[] results)</code></td></tr><tr><td><code><strong><a href="#con_ResultBuffer.SingleResultSequence">ResultBuffer.SingleResultSequence</a></strong>(org.eclipse.wst.xml.xpath2.api.Item at)</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.api.ResultBuffer</code></td><td width="" align="left"><code><a href="#method_add">add</a>(org.eclipse.wst.xml.xpath2.api.Item at)</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_addAt">addAt</a>(int pos
+         ,
+      org.eclipse.wst.xml.xpath2.api.Item element)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultBuffer</code></td><td width="" align="left"><code><a href="#method_append">append</a>(org.eclipse.wst.xml.xpath2.api.Item at)</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_clear">clear</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultBuffer</code></td><td width="" align="left"><code><a href="#method_concat">concat</a>(org.eclipse.wst.xml.xpath2.api.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.api.ResultBuffer</code></td><td width="" align="left"><code><a href="#method_concat">concat</a>(java.util.Collection others)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Collection</code></td><td width="" align="left"><code><a href="#method_getCollection">getCollection</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_getSequence">getSequence</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.Item</code></td><td width="" align="left"><code><a href="#method_item">item</a>(int index)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_prepend">prepend</a>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_wrap">wrap</a>(org.eclipse.wst.xml.xpath2.api.Item item)</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>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_EMPTY">EMPTY</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>EMPTY</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_ResultBuffer">ResultBuffer</a></h2><p><code>public <strong>ResultBuffer</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 org.eclipse.wst.xml.xpath2.api.ResultBuffer <strong>add</strong>(org.eclipse.wst.xml.xpath2.api.Item at)</code></p><p></p><h3>Parameters</h3><p><code>at</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.ResultBuffer</code></p><hr><h2><a name="method_addAt">addAt</a></h2><p><code>public void <strong>addAt</strong>(int pos
+         ,
+      org.eclipse.wst.xml.xpath2.api.Item element)</code></p><p></p><h3>Parameters</h3><p><code>pos</code></p><p><code>element</code></p><hr><h2><a name="method_append">append</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultBuffer <strong>append</strong>(org.eclipse.wst.xml.xpath2.api.Item at)</code></p><p></p><h3>Parameters</h3><p><code>at</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.ResultBuffer</code></p><hr><h2><a name="method_clear">clear</a></h2><p><code>public void <strong>clear</strong>()</code></p><p></p><hr><h2><a name="method_concat">concat</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultBuffer <strong>concat</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs)</code></p><p></p><h3>Parameters</h3><p><code>rs</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.ResultBuffer</code></p><hr><h2><a name="method_concat">concat</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultBuffer <strong>concat</strong>(java.util.Collection others)</code></p><p></p><h3>Parameters</h3><p><code>others</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.ResultBuffer</code></p><hr><h2><a name="method_getCollection">getCollection</a></h2><p><code>public java.util.Collection <strong>getCollection</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Collection</code></p><hr><h2><a name="method_getSequence">getSequence</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>getSequence</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.ResultSequence</code></p><hr><h2><a name="method_item">item</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.Item <strong>item</strong>(int index)</code></p><p></p><h3>Parameters</h3><p><code>index</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.Item</code></p><hr><h2><a name="method_iterator">iterator</a></h2><p><code>public java.util.ListIterator <strong>iterator</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.ListIterator</code></p><hr><h2><a name="method_prepend">prepend</a></h2><p><code>public void <strong>prepend</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs)</code></p><p></p><h3>Parameters</h3><p><code>rs</code></p><hr><h2><a name="method_size">size</a></h2><p><code>public int <strong>size</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_wrap">wrap</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>wrap</strong>(org.eclipse.wst.xml.xpath2.api.Item item)</code></p><p></p><h3>Parameters</h3><p><code>item</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.ResultSequence</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.api.ResultSequence.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.ResultSequence.html
new file mode 100644
index 0000000..43bf64b
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.ResultSequence.html
@@ -0,0 +1,25 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api</strong></font><br>
+               Class ResultSequence</h2><br><hr><pre>public class <strong>ResultSequence</strong>
+extends </pre>Immutable representation of a result<p></p><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 boolean</code></td><td width="" align="left"><code><a href="#method_empty">empty</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Is the sequence empty.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.Item</code></td><td width="" align="left"><code><a href="#method_first">first</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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_firstValue">firstValue</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Return the native representation of the first item.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.Item</code></td><td width="" align="left"><code><a href="#method_item">item</a>(int index)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Return the item.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></td><td width="" align="left"><code><a href="#method_itemType">itemType</a>(int index)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               XPath2 type definition description of the item at location '0'</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;
+               Iterator of Item elements</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></td><td width="" align="left"><code><a href="#method_sequenceType">sequenceType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Describe the whole sequence's type.</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;
+               Return the size of the result set. Only call this if you need it, since it may require that the entire result
+ is fetched.</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_value">value</a>(int index)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Return the native representation of the item.</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_empty">empty</a></h2><p><code>public boolean <strong>empty</strong>()</code></p><p>Is the sequence empty.</p><h3>Returns</h3><p><code>boolean</code> - true for empty sequences</p><hr><h2><a name="method_first">first</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.Item <strong>first</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.Item</code></p><hr><h2><a name="method_firstValue">firstValue</a></h2><p><code>public java.lang.Object <strong>firstValue</strong>()</code></p><p>Return the native representation of the first item.</p><h3>Returns</h3><p><code>java.lang.Object</code> - Native object representing the first item.</p><hr><h2><a name="method_item">item</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.Item <strong>item</strong>(int index)</code></p><p>Return the item.</p><h3>Parameters</h3><p><code>index</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.Item</code> - Native object representing the item.</p><hr><h2><a name="method_itemType">itemType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType <strong>itemType</strong>(int index)</code></p><p>XPath2 type definition description of the item at location '0'</p><h3>Parameters</h3><p><code>index</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></p><hr><h2><a name="method_iterator">iterator</a></h2><p><code>public java.util.Iterator <strong>iterator</strong>()</code></p><p>Iterator of Item elements</p><h3>Returns</h3><p><code>java.util.Iterator</code></p><hr><h2><a name="method_sequenceType">sequenceType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType <strong>sequenceType</strong>()</code></p><p>Describe the whole sequence's type.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code> - Item type definition.</p><hr><h2><a name="method_size">size</a></h2><p><code>public int <strong>size</strong>()</code></p><p>Return the size of the result set. Only call this if you need it, since it may require that the entire result
+ is fetched.</p><h3>Returns</h3><p><code>int</code> - Count of items.</p><hr><h2><a name="method_value">value</a></h2><p><code>public java.lang.Object <strong>value</strong>(int index)</code></p><p>Return the native representation of the item.</p><h3>Parameters</h3><p><code>index</code></p><h3>Returns</h3><p><code>java.lang.Object</code> - Native object representing the item.</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.api.StaticContext.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.StaticContext.html
new file mode 100644
index 0000000..9b70f80
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.StaticContext.html
@@ -0,0 +1,157 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api</strong></font><br>
+               Class StaticContext</h2><br><hr><pre>public class <strong>StaticContext</strong>
+extends </pre>interface to static context<p></p><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 java.net.URI</code></td><td width="" align="left"><code><a href="#method_getBaseUri">getBaseUri</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [Definition: Base URI. This is an absolute URI, used when necessary in
+ the resolution of relative URIs (for example, by the fn:resolve-uri
+ function.)] The URI value is whitespace normalized according to the
+ rules for the xs:anyURI type in [XML Schema].</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.CollationProvider</code></td><td width="" align="left"><code><a href="#method_getCollationProvider">getCollationProvider</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [Definition: Statically known collations. This is an
+ implementation-defined set of (URI, collation) pairs. It defines the
+ names of the collations that are available for use in processing
+ expressions.]</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getCollectionType">getCollectionType</a>(java.lang.String collectionName)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [Definition: Statically known collections. This is a mapping from
+ strings onto types. The string represents the absolute URI of a
+ resource that is potentially available using the fn:collection
+ function. The type is the type of the sequence of nodes that would
+ result from calling the fn:collection function with this URI as its
+ argument.] If the argument to fn:collection is a string literal that is
+ not present in statically known collections, then the static type of
+ fn:collection is node()*. Note: The purpose of the statically known
+ collections is to provide static type information, not to determine
+ which collections are available. A URI need not be found in the
+ statically known collections to be accessed using fn:collection.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getDefaultCollectionType">getDefaultCollectionType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [Definition: Statically known default collection type. This is the type
+ of the sequence of nodes that would result from calling the
+ fn:collection function with no arguments.] Unless initialized to some
+ other value by an implementation, the value of statically known default
+ collection type is 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_getDefaultFunctionNamespace">getDefaultFunctionNamespace</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Definition: Default function namespace. This is a namespace URI or
+ "none". The namespace URI, if present, is used for any unprefixed QName
+ appearing in a position where a function name is expected.] The URI
+ value is whitespace normalized according to the rules for the xs:anyURI
+ type in [XML Schema].</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_getDefaultNamespace">getDefaultNamespace</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [Definition: Default element/type namespace. This is a namespace URI or
+ "none". The namespace URI, if present, is used for any unprefixed QName
+ appearing in a position where an element or type name is expected.] The
+ URI value is whitespace normalized according to the rules for the
+ xs:anyURI type in [XML Schema].</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></td><td width="" align="left"><code><a href="#method_getDocumentType">getDocumentType</a>(java.net.URI documentUri)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [Definition: Statically known documents. This is a mapping from strings
+ onto types. The string represents the absolute URI of a resource that
+ is potentially available using the fn:doc function. The type is the
+ static type of a call to fn:doc with the given URI as its literal
+ argument. ] If the argument to fn:doc is a string literal that is not
+ present in statically known documents, then the static type of fn:doc
+ is document-node()?. Note: The purpose of the statically known
+ documents is to provide static type information, not to determine which
+ documents are available. A URI need not be found in the statically
+ known documents to be accessed using fn:doc.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Map</code></td><td width="" align="left"><code><a href="#method_getFunctionLibraries">getFunctionLibraries</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [Definition: Function signatures. This component defines the set of
+ functions that are available to be called from within an expression.
+ Each function is uniquely identified by its expanded QName and its
+ arity (number of parameters).] In addition to the name and arity, each
+ function signature specifies the static types of the function
+ parameters and result. The function signatures include the signatures
+ of constructor functions, which are discussed in 3.10.4 Constructor
+ Functions.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getInitialContextType">getInitialContextType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [Definition: Context item static type. This component defines the
+ static type of the context item within the scope of a given
+ expression.]</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.StaticVariableResolver</code></td><td width="" align="left"><code><a href="#method_getInScopeVariables">getInScopeVariables</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [Definition: In-scope variables. This is a set of (expanded QName,
+ type) pairs. It defines the set of variables that are available for
+ reference within an expression. The expanded QName is the name of the
+ variable, and the type is the static type of the variable.] An
+ expression that binds a variable (such as a for, some, or every
+ expression) extends the in-scope variables of its subexpressions with
+ the new bound variable and its type.</td></tr><tr valign="top"><td width="20%" align="right"><code>public javax.xml.namespace.NamespaceContext</code></td><td width="" align="left"><code><a href="#method_getNamespaceContext">getNamespaceContext</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [Definition: Statically known namespaces. This is a set of (prefix,
+ URI) pairs that define all the namespaces that are known during static
+ processing of a given expression.] The URI value is whitespace
+ normalized according to the rules for the xs:anyURI type in [XML
+ Schema]. Note the difference between in-scope namespaces, which is a
+ dynamic property of an element node, and statically known namespaces,
+ which is a static property of an expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel</code></td><td width="" align="left"><code><a href="#method_getTypeModel">getTypeModel</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [Definition: In-scope schema definitions. This is a generic term for
+ all the element declarations, attribute declarations, and schema type
+ definitions that are in scope during processing of an expression.]</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isXPath1Compatible">isXPath1Compatible</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               XPath 1.0 compatibility mode.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.Function</code></td><td width="" align="left"><code><a href="#method_resolveFunction">resolveFunction</a>(javax.xml.namespace.QName name
+         ,
+      int arity)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               is the function declared/available in the source context?</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_getBaseUri">getBaseUri</a></h2><p><code>public java.net.URI <strong>getBaseUri</strong>()</code></p><p>[Definition: Base URI. This is an absolute URI, used when necessary in
+ the resolution of relative URIs (for example, by the fn:resolve-uri
+ function.)] The URI value is whitespace normalized according to the
+ rules for the xs:anyURI type in [XML Schema].</p><h3>Returns</h3><p><code>java.net.URI</code></p><hr><h2><a name="method_getCollationProvider">getCollationProvider</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.CollationProvider <strong>getCollationProvider</strong>()</code></p><p>[Definition: Statically known collations. This is an
+ implementation-defined set of (URI, collation) pairs. It defines the
+ names of the collations that are available for use in processing
+ expressions.]</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.CollationProvider</code></p><hr><h2><a name="method_getCollectionType">getCollectionType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getCollectionType</strong>(java.lang.String collectionName)</code></p><p>[Definition: Statically known collections. This is a mapping from
+ strings onto types. The string represents the absolute URI of a
+ resource that is potentially available using the fn:collection
+ function. The type is the type of the sequence of nodes that would
+ result from calling the fn:collection function with this URI as its
+ argument.] If the argument to fn:collection is a string literal that is
+ not present in statically known collections, then the static type of
+ fn:collection is node()*. Note: The purpose of the statically known
+ collections is to provide static type information, not to determine
+ which collections are available. A URI need not be found in the
+ statically known collections to be accessed using fn:collection.</p><h3>Parameters</h3><p><code>collectionName</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><h2><a name="method_getDefaultCollectionType">getDefaultCollectionType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getDefaultCollectionType</strong>()</code></p><p>[Definition: Statically known default collection type. This is the type
+ of the sequence of nodes that would result from calling the
+ fn:collection function with no arguments.] Unless initialized to some
+ other value by an implementation, the value of statically known default
+ collection type is node()*.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><h2><a name="method_getDefaultFunctionNamespace">getDefaultFunctionNamespace</a></h2><p><code>public java.lang.String <strong>getDefaultFunctionNamespace</strong>()</code></p><p>Definition: Default function namespace. This is a namespace URI or
+ "none". The namespace URI, if present, is used for any unprefixed QName
+ appearing in a position where a function name is expected.] The URI
+ value is whitespace normalized according to the rules for the xs:anyURI
+ type in [XML Schema].</p><h3>Returns</h3><p><code>java.lang.String</code> - The default function namespace</p><hr><h2><a name="method_getDefaultNamespace">getDefaultNamespace</a></h2><p><code>public java.lang.String <strong>getDefaultNamespace</strong>()</code></p><p>[Definition: Default element/type namespace. This is a namespace URI or
+ "none". The namespace URI, if present, is used for any unprefixed QName
+ appearing in a position where an element or type name is expected.] The
+ URI value is whitespace normalized according to the rules for the
+ xs:anyURI type in [XML Schema].</p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getDocumentType">getDocumentType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType <strong>getDocumentType</strong>(java.net.URI documentUri)</code></p><p>[Definition: Statically known documents. This is a mapping from strings
+ onto types. The string represents the absolute URI of a resource that
+ is potentially available using the fn:doc function. The type is the
+ static type of a call to fn:doc with the given URI as its literal
+ argument. ] If the argument to fn:doc is a string literal that is not
+ present in statically known documents, then the static type of fn:doc
+ is document-node()?. Note: The purpose of the statically known
+ documents is to provide static type information, not to determine which
+ documents are available. A URI need not be found in the statically
+ known documents to be accessed using fn:doc.</p><h3>Parameters</h3><p><code>documentUri</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></p><hr><h2><a name="method_getFunctionLibraries">getFunctionLibraries</a></h2><p><code>public java.util.Map <strong>getFunctionLibraries</strong>()</code></p><p>[Definition: Function signatures. This component defines the set of
+ functions that are available to be called from within an expression.
+ Each function is uniquely identified by its expanded QName and its
+ arity (number of parameters).] In addition to the name and arity, each
+ function signature specifies the static types of the function
+ parameters and result. The function signatures include the signatures
+ of constructor functions, which are discussed in 3.10.4 Constructor
+ Functions.</p><h3>Returns</h3><p><code>java.util.Map</code></p><hr><h2><a name="method_getInitialContextType">getInitialContextType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getInitialContextType</strong>()</code></p><p>[Definition: Context item static type. This component defines the
+ static type of the context item within the scope of a given
+ expression.]</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><h2><a name="method_getInScopeVariables">getInScopeVariables</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.StaticVariableResolver <strong>getInScopeVariables</strong>()</code></p><p>[Definition: In-scope variables. This is a set of (expanded QName,
+ type) pairs. It defines the set of variables that are available for
+ reference within an expression. The expanded QName is the name of the
+ variable, and the type is the static type of the variable.] An
+ expression that binds a variable (such as a for, some, or every
+ expression) extends the in-scope variables of its subexpressions with
+ the new bound variable and its type.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.StaticVariableResolver</code></p><hr><h2><a name="method_getNamespaceContext">getNamespaceContext</a></h2><p><code>public javax.xml.namespace.NamespaceContext <strong>getNamespaceContext</strong>()</code></p><p>[Definition: Statically known namespaces. This is a set of (prefix,
+ URI) pairs that define all the namespaces that are known during static
+ processing of a given expression.] The URI value is whitespace
+ normalized according to the rules for the xs:anyURI type in [XML
+ Schema]. Note the difference between in-scope namespaces, which is a
+ dynamic property of an element node, and statically known namespaces,
+ which is a static property of an expression.</p><h3>Returns</h3><p><code>javax.xml.namespace.NamespaceContext</code> - The statically known namespace context</p><hr><h2><a name="method_getTypeModel">getTypeModel</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel <strong>getTypeModel</strong>()</code></p><p>[Definition: In-scope schema definitions. This is a generic term for
+ all the element declarations, attribute declarations, and schema type
+ definitions that are in scope during processing of an expression.]</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel</code> - A type model which covers the</p><hr><h2><a name="method_isXPath1Compatible">isXPath1Compatible</a></h2><p><code>public boolean <strong>isXPath1Compatible</strong>()</code></p><p>XPath 1.0 compatibility mode.</p><h3>Returns</h3><p><code>boolean</code> - true if rules for backward compatibility with XPath Version 1.0          are in effect; otherwise false.</p><hr><h2><a name="method_resolveFunction">resolveFunction</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.Function <strong>resolveFunction</strong>(javax.xml.namespace.QName name
+         ,
+      int arity)</code></p><p>is the function declared/available in the source context?</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>org.eclipse.wst.xml.xpath2.api.Function</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.api.StaticVariableResolver.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.StaticVariableResolver.html
new file mode 100644
index 0000000..9a74b38
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.StaticVariableResolver.html
@@ -0,0 +1,9 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api</strong></font><br>
+               Class StaticVariableResolver</h2><br><hr><pre>public class <strong>StaticVariableResolver</strong>
+extends </pre><p></p><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.api.typesystem.ItemType</code></td><td width="" align="left"><code><a href="#method_getVariableType">getVariableType</a>(javax.xml.namespace.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_isVariablePresent">isVariablePresent</a>(javax.xml.namespace.QName name)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Is the variable present in the current context.</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_getVariableType">getVariableType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType <strong>getVariableType</strong>(javax.xml.namespace.QName name)</code></p><p></p><h3>Parameters</h3><p><code>name</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></p><hr><h2><a name="method_isVariablePresent">isVariablePresent</a></h2><p><code>public boolean <strong>isVariablePresent</strong>(javax.xml.namespace.QName name)</code></p><p>Is the variable present in the current context.</p><h3>Parameters</h3><p><code>name</code> - Variable name</p><h3>Returns</h3><p><code>boolean</code> - Availability of the variable</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.api.XPath2Engine.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.XPath2Engine.html
new file mode 100644
index 0000000..8f33a08
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.XPath2Engine.html
@@ -0,0 +1,13 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api</strong></font><br>
+               Class XPath2Engine</h2><br><hr><pre>public class <strong>XPath2Engine</strong>
+extends </pre>Main API for the XPath2 processor.<p></p><p></p><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.api.XPath2Expression</code></td><td width="" align="left"><code><a href="#method_parseExpression">parseExpression</a>(java.lang.String expression
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext context)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Parse a full XPath2 expression and type check it against the static context
+ (if it provides a type model to check against)</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_parseExpression">parseExpression</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.XPath2Expression <strong>parseExpression</strong>(java.lang.String expression
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext context)</code></p><p>Parse a full XPath2 expression and type check it against the static context
+ (if it provides a type model to check against)</p><h3>Parameters</h3><p><code>expression</code> - String representation of XPath2 expression</p><p><code>context</code> - Static context for the expression.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.XPath2Expression</code> - A compiled expression.</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.api.XPath2Expression.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.XPath2Expression.html
new file mode 100644
index 0000000..80b8e59
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.XPath2Expression.html
@@ -0,0 +1,21 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api</strong></font><br>
+               Class XPath2Expression</h2><br><hr><pre>public class <strong>XPath2Expression</strong>
+extends </pre>This interface represents a parsed and statically bound XPath2 expression.<p></p><p></p><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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_evaluate">evaluate</a>(org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext
+         ,
+      java.lang.Object[] contextItems)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Evaluate the XPath2 expression, using the supplied DynamicContext.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Collection</code></td><td width="" align="left"><code><a href="#method_getAxes">getAxes</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Return a collections of the axis used in the XPath2 expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Collection</code></td><td width="" align="left"><code><a href="#method_getFreeVariables">getFreeVariables</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Return a collections of QNames of the names of free variables referenced in the XPath expression.
+ These variables may be requested during evaluation.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Collection</code></td><td width="" align="left"><code><a href="#method_getResolvedFunctions">getResolvedFunctions</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Return a collections of the functions used in the XPath2 expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isRootPathUsed">isRootPathUsed</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Whether or not the root path is in use in the XPath2 expression.</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.api.ResultSequence <strong>evaluate</strong>(org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext
+         ,
+      java.lang.Object[] contextItems)</code></p><p>Evaluate the XPath2 expression, using the supplied DynamicContext.</p><h3>Parameters</h3><p><code>dynamicContext</code> - Dynamic context for the expression.</p><p><code>contextItems</code> - Context item (typically nodes, often one) to evaluate under.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.ResultSequence</code> - A ResultSequence</p><hr><h2><a name="method_getAxes">getAxes</a></h2><p><code>public java.util.Collection <strong>getAxes</strong>()</code></p><p>Return a collections of the axis used in the XPath2 expression.</p><h3>Returns</h3><p><code>java.util.Collection</code> - A Collection containing Strings with the axis names in use.</p><hr><h2><a name="method_getFreeVariables">getFreeVariables</a></h2><p><code>public java.util.Collection <strong>getFreeVariables</strong>()</code></p><p>Return a collections of QNames of the names of free variables referenced in the XPath expression.
+ These variables may be requested during evaluation.</p><h3>Returns</h3><p><code>java.util.Collection</code> - A Collection containing javax.xml.namespacing.QName of free variables</p><hr><h2><a name="method_getResolvedFunctions">getResolvedFunctions</a></h2><p><code>public java.util.Collection <strong>getResolvedFunctions</strong>()</code></p><p>Return a collections of the functions used in the XPath2 expression.</p><h3>Returns</h3><p><code>java.util.Collection</code> - A Collection containing javax.xml.namespacing.QName of functions in use.</p><hr><h2><a name="method_isRootPathUsed">isRootPathUsed</a></h2><p><code>public boolean <strong>isRootPathUsed</strong>()</code></p><p>Whether or not the root path is in use in the XPath2 expression.</p><h3>Returns</h3><p><code>boolean</code> - true if the expression uses / or //, 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.api.XPath2Pattern.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.XPath2Pattern.html
new file mode 100644
index 0000000..ae2df86
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.XPath2Pattern.html
@@ -0,0 +1,13 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api</strong></font><br>
+               Class XPath2Pattern</h2><br><hr><pre>public class <strong>XPath2Pattern</strong>
+extends </pre>This is a compiled pattern (which is a simpler version of an expression, used to match in XSLT files, etc.)<p></p><p></p><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 java.lang.Object</code></td><td width="" align="left"><code><a href="#method_getUserData">getUserData</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_matches">matches</a>(org.eclipse.wst.xml.xpath2.api.DynamicContext dc
+         ,
+      org.w3c.dom.Node context)</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>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getUserData">getUserData</a></h2><p><code>public java.lang.Object <strong>getUserData</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code> - The object passed in my the caller when the patten was created.</p><hr><h2><a name="method_matches">matches</a></h2><p><code>public boolean <strong>matches</strong>(org.eclipse.wst.xml.xpath2.api.DynamicContext dc
+         ,
+      org.w3c.dom.Node context)</code></p><p></p><h3>Parameters</h3><p><code>dc</code></p><p><code>context</code></p><h3>Returns</h3><p><code>boolean</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.api.XPath2PatternSet.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.XPath2PatternSet.html
new file mode 100644
index 0000000..824ec69
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.XPath2PatternSet.html
@@ -0,0 +1,33 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api</strong></font><br>
+               Class XPath2PatternSet</h2><br><hr><pre>public class <strong>XPath2PatternSet</strong>
+extends </pre><p></p><p></p><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_clear">clear</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.XPath2Pattern</code></td><td width="" align="left"><code><a href="#method_compilePattern">compilePattern</a>(org.eclipse.wst.xml.xpath2.api.StaticContext context
+         ,
+      java.lang.String pattern
+         ,
+      java.lang.String mode
+         ,
+      int priority
+         ,
+      java.lang.Object userData)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.Match</code></td><td width="" align="left"><code><a href="#method_match">match</a>(org.eclipse.wst.xml.xpath2.api.DynamicContext dc
+         ,
+      org.w3c.dom.Node context)</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_removePattern">removePattern</a>(org.eclipse.wst.xml.xpath2.api.XPath2Pattern pattern)</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>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_clear">clear</a></h2><p><code>public void <strong>clear</strong>()</code></p><p></p><hr><h2><a name="method_compilePattern">compilePattern</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.XPath2Pattern <strong>compilePattern</strong>(org.eclipse.wst.xml.xpath2.api.StaticContext context
+         ,
+      java.lang.String pattern
+         ,
+      java.lang.String mode
+         ,
+      int priority
+         ,
+      java.lang.Object userData)</code></p><p></p><h3>Parameters</h3><p><code>context</code></p><p><code>pattern</code></p><p><code>mode</code></p><p><code>priority</code></p><p><code>userData</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.XPath2Pattern</code></p><hr><h2><a name="method_match">match</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.Match <strong>match</strong>(org.eclipse.wst.xml.xpath2.api.DynamicContext dc
+         ,
+      org.w3c.dom.Node context)</code></p><p></p><h3>Parameters</h3><p><code>dc</code></p><p><code>context</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.Match</code></p><hr><h2><a name="method_removePattern">removePattern</a></h2><p><code>public void <strong>removePattern</strong>(org.eclipse.wst.xml.xpath2.api.XPath2Pattern pattern)</code></p><p></p><h3>Parameters</h3><p><code>pattern</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.api.typesystem.ComplexTypeDefinition.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.typesystem.ComplexTypeDefinition.html
new file mode 100644
index 0000000..b1f2a8d
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.typesystem.ComplexTypeDefinition.html
@@ -0,0 +1,57 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api.typesystem</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api.typesystem</strong></font><br>
+               Class ComplexTypeDefinition</h2><br><hr><pre>public class <strong>ComplexTypeDefinition</strong>
+extends </pre><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>public static  short</code></td><td width="80%" align="left"><code><a href="#field_CONTENT_ELEMENT">CONTENT_ELEMENT</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Represents an element-only content type. An element-only content type 
+ validates elements with children that conform to the supplied content 
+ model.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  short</code></td><td width="80%" align="left"><code><a href="#field_CONTENT_EMPTY">CONTENT_EMPTY</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Represents an empty content type. A content type with the distinguished 
+ value empty validates elements with no character or element 
+ information item children.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  short</code></td><td width="80%" align="left"><code><a href="#field_CONTENT_MIXED">CONTENT_MIXED</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Represents a mixed content type.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  short</code></td><td width="80%" align="left"><code><a href="#field_CONTENT_SIMPLE">CONTENT_SIMPLE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Represents a simple content type. A content type which is simple 
+ validates elements with character-only children.</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_getAbstract">getAbstract</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [abstract]: a boolean. Complex types for which <code>abstract</code> is 
+ true must not be used as the type definition for the validation of 
+ element information items.</td></tr><tr valign="top"><td width="20%" align="right"><code>public short</code></td><td width="" align="left"><code><a href="#method_getContentType">getContentType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [content type]: one of empty (<code>CONTENTTYPE_EMPTY</code>), a simple 
+ type definition (<code>CONTENTTYPE_SIMPLE</code>), mixed (
+ <code>CONTENTTYPE_MIXED</code>), or element-only (
+ <code>CONTENTTYPE_ELEMENT</code>).</td></tr><tr valign="top"><td width="20%" align="right"><code>public short</code></td><td width="" align="left"><code><a href="#method_getDerivationMethod">getDerivationMethod</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [derivation method]: either <code>DERIVATION_EXTENSION</code>, 
+ <code>DERIVATION_RESTRICTION</code>, or <code>DERIVATION_NONE</code> 
+ (see <code>XSConstants</code>).</td></tr><tr valign="top"><td width="20%" align="right"><code>public short</code></td><td width="" align="left"><code><a href="#method_getProhibitedSubstitutions">getProhibitedSubstitutions</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [prohibited substitutions]: A subset of {extension, restriction} or 
+ <code>DERIVATION_NONE</code> represented as a bit flag (see 
+ <code>XSConstants</code>).</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.SimpleTypeDefinition</code></td><td width="" align="left"><code><a href="#method_getSimpleType">getSimpleType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               A simple type definition corresponding to a simple content model, 
+ otherwise <code>null</code>.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isProhibitedSubstitution">isProhibitedSubstitution</a>(short restriction)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [prohibited substitutions]: a subset of {extension, restriction}</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_CONTENT_ELEMENT">CONTENT_ELEMENT</a></h2><p><code>public static  short <strong>CONTENT_ELEMENT</strong></code></p><table><tr><td>Represents an element-only content type. An element-only content type 
+ validates elements with children that conform to the supplied content 
+ model.</td></tr></table><hr><h2><a name="field_CONTENT_EMPTY">CONTENT_EMPTY</a></h2><p><code>public static  short <strong>CONTENT_EMPTY</strong></code></p><table><tr><td>Represents an empty content type. A content type with the distinguished 
+ value empty validates elements with no character or element 
+ information item children.</td></tr></table><hr><h2><a name="field_CONTENT_MIXED">CONTENT_MIXED</a></h2><p><code>public static  short <strong>CONTENT_MIXED</strong></code></p><table><tr><td>Represents a mixed content type.</td></tr></table><hr><h2><a name="field_CONTENT_SIMPLE">CONTENT_SIMPLE</a></h2><p><code>public static  short <strong>CONTENT_SIMPLE</strong></code></p><table><tr><td>Represents a simple content type. A content type which is simple 
+ validates elements with character-only children.</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_getAbstract">getAbstract</a></h2><p><code>public boolean <strong>getAbstract</strong>()</code></p><p>[abstract]: a boolean. Complex types for which <code>abstract</code> is 
+ true must not be used as the type definition for the validation of 
+ element information items.</p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_getContentType">getContentType</a></h2><p><code>public short <strong>getContentType</strong>()</code></p><p>[content type]: one of empty (<code>CONTENTTYPE_EMPTY</code>), a simple 
+ type definition (<code>CONTENTTYPE_SIMPLE</code>), mixed (
+ <code>CONTENTTYPE_MIXED</code>), or element-only (
+ <code>CONTENTTYPE_ELEMENT</code>).</p><h3>Returns</h3><p><code>short</code></p><hr><h2><a name="method_getDerivationMethod">getDerivationMethod</a></h2><p><code>public short <strong>getDerivationMethod</strong>()</code></p><p>[derivation method]: either <code>DERIVATION_EXTENSION</code>, 
+ <code>DERIVATION_RESTRICTION</code>, or <code>DERIVATION_NONE</code> 
+ (see <code>XSConstants</code>).</p><h3>Returns</h3><p><code>short</code></p><hr><h2><a name="method_getProhibitedSubstitutions">getProhibitedSubstitutions</a></h2><p><code>public short <strong>getProhibitedSubstitutions</strong>()</code></p><p>[prohibited substitutions]: A subset of {extension, restriction} or 
+ <code>DERIVATION_NONE</code> represented as a bit flag (see 
+ <code>XSConstants</code>).</p><h3>Returns</h3><p><code>short</code></p><hr><h2><a name="method_getSimpleType">getSimpleType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.SimpleTypeDefinition <strong>getSimpleType</strong>()</code></p><p>A simple type definition corresponding to a simple content model, 
+ otherwise <code>null</code>.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.SimpleTypeDefinition</code></p><hr><h2><a name="method_isProhibitedSubstitution">isProhibitedSubstitution</a></h2><p><code>public boolean <strong>isProhibitedSubstitution</strong>(short restriction)</code></p><p>[prohibited substitutions]: a subset of {extension, restriction}</p><h3>Parameters</h3><p><code>restriction</code> - Extension or restriction constants (see     <code>XSConstants</code>).</p><h3>Returns</h3><p><code>boolean</code> - True if <code>restriction</code> is a prohibited substitution,     otherwise false.</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.api.typesystem.ItemType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.typesystem.ItemType.html
new file mode 100644
index 0000000..e3de542
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.typesystem.ItemType.html
@@ -0,0 +1,21 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api.typesystem</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api.typesystem</strong></font><br>
+               Class ItemType</h2><br><hr><pre>public class <strong>ItemType</strong>
+extends </pre><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>public static  short</code></td><td width="80%" align="left"><code><a href="#field_ALWAYS_ONE_MASK">ALWAYS_ONE_MASK</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  short</code></td><td width="80%" align="left"><code><a href="#field_MAYBE_MANY_MASK">MAYBE_MANY_MASK</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  short</code></td><td width="80%" align="left"><code><a href="#field_OCCURRENCE_NONE_OR_MANY">OCCURRENCE_NONE_OR_MANY</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  short</code></td><td width="80%" align="left"><code><a href="#field_OCCURRENCE_ONE">OCCURRENCE_ONE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  short</code></td><td width="80%" align="left"><code><a href="#field_OCCURRENCE_ONE_OR_MANY">OCCURRENCE_ONE_OR_MANY</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  short</code></td><td width="80%" align="left"><code><a href="#field_OCCURRENCE_OPTIONAL">OCCURRENCE_OPTIONAL</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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 short</code></td><td width="" align="left"><code><a href="#method_getOccurrence">getOccurrence</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>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_ALWAYS_ONE_MASK">ALWAYS_ONE_MASK</a></h2><p><code>public static  short <strong>ALWAYS_ONE_MASK</strong></code></p><hr><h2><a name="field_MAYBE_MANY_MASK">MAYBE_MANY_MASK</a></h2><p><code>public static  short <strong>MAYBE_MANY_MASK</strong></code></p><hr><h2><a name="field_OCCURRENCE_NONE_OR_MANY">OCCURRENCE_NONE_OR_MANY</a></h2><p><code>public static  short <strong>OCCURRENCE_NONE_OR_MANY</strong></code></p><hr><h2><a name="field_OCCURRENCE_ONE">OCCURRENCE_ONE</a></h2><p><code>public static  short <strong>OCCURRENCE_ONE</strong></code></p><hr><h2><a name="field_OCCURRENCE_ONE_OR_MANY">OCCURRENCE_ONE_OR_MANY</a></h2><p><code>public static  short <strong>OCCURRENCE_ONE_OR_MANY</strong></code></p><hr><h2><a name="field_OCCURRENCE_OPTIONAL">OCCURRENCE_OPTIONAL</a></h2><p><code>public static  short <strong>OCCURRENCE_OPTIONAL</strong></code></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_getOccurrence">getOccurrence</a></h2><p><code>public short <strong>getOccurrence</strong>()</code></p><p></p><h3>Returns</h3><p><code>short</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.api.typesystem.NodeItemType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.typesystem.NodeItemType.html
new file mode 100644
index 0000000..a5b146c
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.typesystem.NodeItemType.html
@@ -0,0 +1,13 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api.typesystem</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api.typesystem</strong></font><br>
+               Class NodeItemType</h2><br><hr><pre>public class <strong>NodeItemType</strong>
+extends </pre><p></p><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 javax.xml.namespace.QName</code></td><td width="" align="left"><code><a href="#method_getName">getName</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public short</code></td><td width="" align="left"><code><a href="#method_getNodeType">getNodeType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Node type as per list in org.w3c.dom.Node</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isWildcard">isWildcard</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               For attribute and element types, return whether the name
+ part of the type test is a wildcard.</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_getName">getName</a></h2><p><code>public javax.xml.namespace.QName <strong>getName</strong>()</code></p><p></p><h3>Returns</h3><p><code>javax.xml.namespace.QName</code> - name of the item type, if applicable, otherwise null</p><hr><h2><a name="method_getNodeType">getNodeType</a></h2><p><code>public short <strong>getNodeType</strong>()</code></p><p>Node type as per list in org.w3c.dom.Node</p><h3>Returns</h3><p><code>short</code> - The DOM node type</p><hr><h2><a name="method_isWildcard">isWildcard</a></h2><p><code>public boolean <strong>isWildcard</strong>()</code></p><p>For attribute and element types, return whether the name
+ part of the type test is a wildcard.</p><h3>Returns</h3><p><code>boolean</code> - Wildcard test?</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.api.typesystem.PrimitiveType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.typesystem.PrimitiveType.html
new file mode 100644
index 0000000..523ddfe
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.typesystem.PrimitiveType.html
@@ -0,0 +1,29 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api.typesystem</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api.typesystem</strong></font><br>
+               Class PrimitiveType</h2><br><hr><pre>public class <strong>PrimitiveType</strong>
+extends </pre><p></p><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.api.Item</code></td><td width="" align="left"><code><a href="#method_construct">construct</a>(java.lang.Object content)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               validate a given string against this simple type.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Class</code></td><td width="" align="left"><code><a href="#method_getInterfaceClass">getInterfaceClass</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Class</code></td><td width="" align="left"><code><a href="#method_getNativeType">getNativeType</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_isEqual">isEqual</a>(java.lang.Object value1
+         ,
+      java.lang.Object value2)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Check whether two actual values are equal.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isIDType">isIDType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Check whether this type is or is derived from ID.
+ REVISIT: this method makes ID special, which is not a good design.
+          but since ID is not a primitive, there doesn't seem to be a
+          clean way of doing it except to define special method like this.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_validate">validate</a>(java.lang.String content)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               validate a given string against this simple type.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_validateNative">validateNative</a>(java.lang.Object content)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               validate a given string against this simple 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_construct">construct</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.Item <strong>construct</strong>(java.lang.Object content)</code></p><p>validate a given string against this simple type.</p><h3>Parameters</h3><p><code>content</code> - the string value that needs to be validated</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.Item</code> - the actual value (QName, Boolean) of the string value</p><hr><h2><a name="method_getInterfaceClass">getInterfaceClass</a></h2><p><code>public java.lang.Class <strong>getInterfaceClass</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code> - the actual value (QName, Boolean) of the string value</p><hr><h2><a name="method_getNativeType">getNativeType</a></h2><p><code>public java.lang.Class <strong>getNativeType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code> - The expected native type (class or interface) to expect when calling getValue.</p><hr><h2><a name="method_isEqual">isEqual</a></h2><p><code>public boolean <strong>isEqual</strong>(java.lang.Object value1
+         ,
+      java.lang.Object value2)</code></p><p>Check whether two actual values are equal.</p><h3>Parameters</h3><p><code>value1</code> - the first value</p><p><code>value2</code> - the second value</p><h3>Returns</h3><p><code>boolean</code> - true if the two value are equal</p><hr><h2><a name="method_isIDType">isIDType</a></h2><p><code>public boolean <strong>isIDType</strong>()</code></p><p>Check whether this type is or is derived from ID.
+ REVISIT: this method makes ID special, which is not a good design.
+          but since ID is not a primitive, there doesn't seem to be a
+          clean way of doing it except to define special method like this.</p><h3>Returns</h3><p><code>boolean</code> - whether this simple type is or is derived from ID.</p><hr><h2><a name="method_validate">validate</a></h2><p><code>public boolean <strong>validate</strong>(java.lang.String content)</code></p><p>validate a given string against this simple type.</p><h3>Parameters</h3><p><code>content</code> - the string value that needs to be validated</p><h3>Returns</h3><p><code>boolean</code> - the actual value (QName, Boolean) of the string value</p><hr><h2><a name="method_validateNative">validateNative</a></h2><p><code>public boolean <strong>validateNative</strong>(java.lang.Object content)</code></p><p>validate a given string against this simple type.</p><h3>Parameters</h3><p><code>content</code> - the string value that needs to be validated</p><h3>Returns</h3><p><code>boolean</code> - the actual value (QName, Boolean) of the string value</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.api.typesystem.SimpleTypeDefinition.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.typesystem.SimpleTypeDefinition.html
new file mode 100644
index 0000000..377418a
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.typesystem.SimpleTypeDefinition.html
@@ -0,0 +1,53 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api.typesystem</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api.typesystem</strong></font><br>
+               Class SimpleTypeDefinition</h2><br><hr><pre>public class <strong>SimpleTypeDefinition</strong>
+extends </pre><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>public static  short</code></td><td width="80%" align="left"><code><a href="#field_VARIETY_ABSENT">VARIETY_ABSENT</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               The variety is absent for the anySimpleType definition.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  short</code></td><td width="80%" align="left"><code><a href="#field_VARIETY_ATOMIC">VARIETY_ATOMIC</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               &lt;code&gt;Atomic&lt;/code&gt; type.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  short</code></td><td width="80%" align="left"><code><a href="#field_VARIETY_LIST">VARIETY_LIST</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               &lt;code&gt;List&lt;/code&gt; type.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  short</code></td><td width="80%" align="left"><code><a href="#field_VARIETY_UNION">VARIETY_UNION</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               &lt;code&gt;Union&lt;/code&gt; type.</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_getBounded">getBounded</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Fundamental Facet: bounded.</td></tr><tr valign="top"><td width="20%" align="right"><code>public short</code></td><td width="" align="left"><code><a href="#method_getBuiltInKind">getBuiltInKind</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns the closest built-in type category this type represents or 
+ derived from. For example, if this simple type is a built-in derived 
+ type integer the <code>INTEGER_DV</code> is returned.
+ 
+ KILL!</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_getFinite">getFinite</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Fundamental Facet: cardinality.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getItemType">getItemType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               If variety is <code>list</code> the item type definition (an atomic or 
+ union simple type definition) is available, otherwise 
+ <code>null</code>.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getMemberTypes">getMemberTypes</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               If variety is <code>union</code> the list of member type definitions (a 
+ non-empty sequence of simple type definitions) is available, 
+ otherwise an empty <code>XSObjectList</code>.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_getNumeric">getNumeric</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Fundamental Facet: numeric.</td></tr><tr valign="top"><td width="20%" align="right"><code>public short</code></td><td width="" align="left"><code><a href="#method_getOrdered">getOrdered</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Fundamental Facet: ordered.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.SimpleTypeDefinition</code></td><td width="" align="left"><code><a href="#method_getPrimitiveType">getPrimitiveType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               If variety is <code>atomic</code> the primitive type definition (a 
+ built-in primitive datatype definition or the simple ur-type 
+ definition) is available, otherwise <code>null</code>.</td></tr><tr valign="top"><td width="20%" align="right"><code>public short</code></td><td width="" align="left"><code><a href="#method_getVariety">getVariety</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               [variety]: one of {atomic, list, union} or absent.</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_VARIETY_ABSENT">VARIETY_ABSENT</a></h2><p><code>public static  short <strong>VARIETY_ABSENT</strong></code></p><table><tr><td>The variety is absent for the anySimpleType definition.</td></tr></table><hr><h2><a name="field_VARIETY_ATOMIC">VARIETY_ATOMIC</a></h2><p><code>public static  short <strong>VARIETY_ATOMIC</strong></code></p><table><tr><td><code>Atomic</code> type.</td></tr></table><hr><h2><a name="field_VARIETY_LIST">VARIETY_LIST</a></h2><p><code>public static  short <strong>VARIETY_LIST</strong></code></p><table><tr><td><code>List</code> type.</td></tr></table><hr><h2><a name="field_VARIETY_UNION">VARIETY_UNION</a></h2><p><code>public static  short <strong>VARIETY_UNION</strong></code></p><table><tr><td><code>Union</code> 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_getBounded">getBounded</a></h2><p><code>public boolean <strong>getBounded</strong>()</code></p><p>Fundamental Facet: bounded.</p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_getBuiltInKind">getBuiltInKind</a></h2><p><code>public short <strong>getBuiltInKind</strong>()</code></p><p>Returns the closest built-in type category this type represents or 
+ derived from. For example, if this simple type is a built-in derived 
+ type integer the <code>INTEGER_DV</code> is returned.
+ 
+ KILL!</p><h3>Returns</h3><p><code>short</code></p><hr><h2><a name="method_getFinite">getFinite</a></h2><p><code>public boolean <strong>getFinite</strong>()</code></p><p>Fundamental Facet: cardinality.</p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_getItemType">getItemType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getItemType</strong>()</code></p><p>If variety is <code>list</code> the item type definition (an atomic or 
+ union simple type definition) is available, otherwise 
+ <code>null</code>.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><h2><a name="method_getMemberTypes">getMemberTypes</a></h2><p><code>public java.util.List <strong>getMemberTypes</strong>()</code></p><p>If variety is <code>union</code> the list of member type definitions (a 
+ non-empty sequence of simple type definitions) is available, 
+ otherwise an empty <code>XSObjectList</code>.</p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_getNumeric">getNumeric</a></h2><p><code>public boolean <strong>getNumeric</strong>()</code></p><p>Fundamental Facet: numeric.</p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_getOrdered">getOrdered</a></h2><p><code>public short <strong>getOrdered</strong>()</code></p><p>Fundamental Facet: ordered.</p><h3>Returns</h3><p><code>short</code></p><hr><h2><a name="method_getPrimitiveType">getPrimitiveType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.SimpleTypeDefinition <strong>getPrimitiveType</strong>()</code></p><p>If variety is <code>atomic</code> the primitive type definition (a 
+ built-in primitive datatype definition or the simple ur-type 
+ definition) is available, otherwise <code>null</code>.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.SimpleTypeDefinition</code></p><hr><h2><a name="method_getVariety">getVariety</a></h2><p><code>public short <strong>getVariety</strong>()</code></p><p>[variety]: one of {atomic, list, union} or absent.</p><h3>Returns</h3><p><code>short</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.api.typesystem.TypeDefinition.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition.html
new file mode 100644
index 0000000..4bbf250
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition.html
@@ -0,0 +1,47 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api.typesystem</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api.typesystem</strong></font><br>
+               Class TypeDefinition</h2><br><hr><pre>public class <strong>TypeDefinition</strong>
+extends </pre><p></p><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>public static  short</code></td><td width="80%" align="left"><code><a href="#field_DERIVATION_EXTENSION">DERIVATION_EXTENSION</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  short</code></td><td width="80%" align="left"><code><a href="#field_DERIVATION_LIST">DERIVATION_LIST</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  short</code></td><td width="80%" align="left"><code><a href="#field_DERIVATION_NONE">DERIVATION_NONE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  short</code></td><td width="80%" align="left"><code><a href="#field_DERIVATION_RESTRICTION">DERIVATION_RESTRICTION</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  short</code></td><td width="80%" align="left"><code><a href="#field_DERIVATION_SUBSTITUTION">DERIVATION_SUBSTITUTION</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  short</code></td><td width="80%" align="left"><code><a href="#field_DERIVATION_UNION">DERIVATION_UNION</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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_derivedFrom">derivedFrom</a>(java.lang.String namespace
+         ,
+      java.lang.String name
+         ,
+      short derivationMethod)</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_derivedFromType">derivedFromType</a>(org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition ancestorType
+         ,
+      short derivationMethod)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getBaseType">getBaseType</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_getName">getName</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_getNamespace">getNamespace</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Class</code></td><td width="" align="left"><code><a href="#method_getNativeType">getNativeType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getSimpleTypes">getSimpleTypes</a>(org.w3c.dom.Attr attr)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getSimpleTypes">getSimpleTypes</a>(org.w3c.dom.Element attr)</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>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_DERIVATION_EXTENSION">DERIVATION_EXTENSION</a></h2><p><code>public static  short <strong>DERIVATION_EXTENSION</strong></code></p><hr><h2><a name="field_DERIVATION_LIST">DERIVATION_LIST</a></h2><p><code>public static  short <strong>DERIVATION_LIST</strong></code></p><hr><h2><a name="field_DERIVATION_NONE">DERIVATION_NONE</a></h2><p><code>public static  short <strong>DERIVATION_NONE</strong></code></p><hr><h2><a name="field_DERIVATION_RESTRICTION">DERIVATION_RESTRICTION</a></h2><p><code>public static  short <strong>DERIVATION_RESTRICTION</strong></code></p><hr><h2><a name="field_DERIVATION_SUBSTITUTION">DERIVATION_SUBSTITUTION</a></h2><p><code>public static  short <strong>DERIVATION_SUBSTITUTION</strong></code></p><hr><h2><a name="field_DERIVATION_UNION">DERIVATION_UNION</a></h2><p><code>public static  short <strong>DERIVATION_UNION</strong></code></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_derivedFrom">derivedFrom</a></h2><p><code>public boolean <strong>derivedFrom</strong>(java.lang.String namespace
+         ,
+      java.lang.String name
+         ,
+      short derivationMethod)</code></p><p></p><h3>Parameters</h3><p><code>namespace</code></p><p><code>name</code></p><p><code>derivationMethod</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_derivedFromType">derivedFromType</a></h2><p><code>public boolean <strong>derivedFromType</strong>(org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition ancestorType
+         ,
+      short derivationMethod)</code></p><p></p><h3>Parameters</h3><p><code>ancestorType</code></p><p><code>derivationMethod</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_getBaseType">getBaseType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getBaseType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><h2><a name="method_getName">getName</a></h2><p><code>public java.lang.String <strong>getName</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getNamespace">getNamespace</a></h2><p><code>public java.lang.String <strong>getNamespace</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getNativeType">getNativeType</a></h2><p><code>public java.lang.Class <strong>getNativeType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_getSimpleTypes">getSimpleTypes</a></h2><p><code>public java.util.List <strong>getSimpleTypes</strong>(org.w3c.dom.Attr attr)</code></p><p></p><h3>Parameters</h3><p><code>attr</code></p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_getSimpleTypes">getSimpleTypes</a></h2><p><code>public java.util.List <strong>getSimpleTypes</strong>(org.w3c.dom.Element attr)</code></p><p></p><h3>Parameters</h3><p><code>attr</code></p><h3>Returns</h3><p><code>java.util.List</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.api.typesystem.TypeModel.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel.html
new file mode 100644
index 0000000..b699a2b
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel.html
@@ -0,0 +1,25 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.api.typesystem</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.api.typesystem</strong></font><br>
+               Class TypeModel</h2><br><hr><pre>public class <strong>TypeModel</strong>
+extends </pre><p></p><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.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getType">getType</a>(org.w3c.dom.Node node)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_lookupAttributeDeclaration">lookupAttributeDeclaration</a>(java.lang.String namespace
+         ,
+      java.lang.String attributeName)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_lookupElementDeclaration">lookupElementDeclaration</a>(java.lang.String namespace
+         ,
+      java.lang.String elementName)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_lookupType">lookupType</a>(java.lang.String namespace
+         ,
+      java.lang.String typeName)</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>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getType">getType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getType</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.api.typesystem.TypeDefinition</code></p><hr><h2><a name="method_lookupAttributeDeclaration">lookupAttributeDeclaration</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>lookupAttributeDeclaration</strong>(java.lang.String namespace
+         ,
+      java.lang.String attributeName)</code></p><p></p><h3>Parameters</h3><p><code>namespace</code></p><p><code>attributeName</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><h2><a name="method_lookupElementDeclaration">lookupElementDeclaration</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>lookupElementDeclaration</strong>(java.lang.String namespace
+         ,
+      java.lang.String elementName)</code></p><p></p><h3>Parameters</h3><p><code>namespace</code></p><p><code>elementName</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><h2><a name="method_lookupType">lookupType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>lookupType</strong>(java.lang.String namespace
+         ,
+      java.lang.String typeName)</code></p><p></p><h3>Parameters</h3><p><code>namespace</code></p><p><code>typeName</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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.CollationProvider.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.CollationProvider.html
index 8f77a22..92c8d37 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.CollationProvider.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.CollationProvider.html
@@ -1,6 +1,6 @@
 <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 CollationProvider</h2><br><hr><pre>public class <strong>CollationProvider</strong>
-extends </pre>Service provider interface for looking up collations from within the dynamic context.<p></p><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 java.util.Comparator</code></td><td width="" align="left"><code><a href="#method_get_collation">get_collation</a>(java.lang.String name)</code><br>
+extends </pre>Service provider interface for looking up collations from within the dynamic context.<p></p><p></p><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 java.util.Comparator</code></td><td width="" align="left"><code><a href="#method_get_collation">get_collation</a>(java.lang.String name)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                Gets the named collator. W3C does not define collation names (yet?) so we are constrained to using an
  implementation-defined naming scheme.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
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
index 66a8e22..6bdbaf5 100644
--- 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
@@ -1,5 +1,5 @@
 <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>
+extends org.eclipse.wst.xml.xpath2.processor.XPathException</pre>Exception caused by DOM loader.<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_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
index fffa7e1..094f0c6 100644
--- 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
@@ -3,9 +3,9 @@
 extends org.eclipse.wst.xml.xpath2.processor.internal.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>(org.apache.xerces.xs.XSModel schema
+ 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>
+      org.w3c.dom.Document doc)</code></td></tr><tr><td><code><strong><a href="#con_DefaultDynamicContext">DefaultDynamicContext</a></strong>(org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel 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 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;
@@ -25,9 +25,11 @@
                &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_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>
+               get document</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_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>
+               Retrieve the variable name</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel</code></td><td width="" align="left"><code><a href="#method_getTypeModel">getTypeModel</a>(org.w3c.dom.Node node)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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 int</code></td><td width="" align="left"><code><a href="#method_node_position">node_position</a>(org.w3c.dom.Node node)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -43,16 +45,22 @@
          ,
       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>
+               Sets the value of a variable.</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.ResultSequence val)</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.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>(org.apache.xerces.xs.XSModel schema
+               </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>
+      org.w3c.dom.Document doc)</code></p><p>Constructor.</p><hr><h2><a name="con_DefaultDynamicContext">DefaultDynamicContext</a></h2><p><code>public <strong>DefaultDynamicContext</strong>(org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel schema)</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_default_collation_name">default_collation_name</a></h2><p><code>public java.lang.String <strong>default_collation_name</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</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 org.eclipse.wst.xml.xpath2.processor.internal.Focus <strong>focus</strong>()</code></p><p>Return the focus</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.Focus</code> - _focus</p><hr><h2><a name="method_get_collation">get_collation</a></h2><p><code>public java.util.Comparator <strong>get_collation</strong>(java.lang.String uri)</code></p><p></p><h3>Parameters</h3><p><code>uri</code></p><h3>Returns</h3><p><code>java.util.Comparator</code></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_node_position">node_position</a></h2><p><code>public int <strong>node_position</strong>(org.w3c.dom.Node node)</code></p><p>Use focus().position() to retrieve the value.</p><h3>Parameters</h3><p><code>node</code></p><h3>Returns</h3><p><code>int</code></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_collation_provider">set_collation_provider</a></h2><p><code>public void <strong>set_collation_provider</strong>(org.eclipse.wst.xml.xpath2.processor.CollationProvider provider)</code></p><p></p><h3>Parameters</h3><p><code>provider</code></p><hr><h2><a name="method_set_default_collation">set_default_collation</a></h2><p><code>public void <strong>set_default_collation</strong>(java.lang.String _default_collation)</code></p><p></p><h3>Parameters</h3><p><code>_default_collation</code></p><hr><h2><a name="method_set_focus">set_focus</a></h2><p><code>public void <strong>set_focus</strong>(org.eclipse.wst.xml.xpath2.processor.internal.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
+      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 org.eclipse.wst.xml.xpath2.processor.internal.Focus <strong>focus</strong>()</code></p><p>Return the focus</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.Focus</code> - _focus</p><hr><h2><a name="method_get_collation">get_collation</a></h2><p><code>public java.util.Comparator <strong>get_collation</strong>(java.lang.String uri)</code></p><p></p><h3>Parameters</h3><p><code>uri</code></p><h3>Returns</h3><p><code>java.util.Comparator</code></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 java.lang.Object <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>java.lang.Object</code> - an AnyType result from get_var(name) or return NULL</p><hr><h2><a name="method_getTypeModel">getTypeModel</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel <strong>getTypeModel</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.api.typesystem.TypeModel</code></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_node_position">node_position</a></h2><p><code>public int <strong>node_position</strong>(org.w3c.dom.Node node)</code></p><p>Use focus().position() to retrieve the value.</p><h3>Parameters</h3><p><code>node</code></p><h3>Returns</h3><p><code>int</code></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_collation_provider">set_collation_provider</a></h2><p><code>public void <strong>set_collation_provider</strong>(org.eclipse.wst.xml.xpath2.processor.CollationProvider provider)</code></p><p></p><h3>Parameters</h3><p><code>provider</code></p><hr><h2><a name="method_set_default_collation">set_default_collation</a></h2><p><code>public void <strong>set_default_collation</strong>(java.lang.String _default_collation)</code></p><p></p><h3>Parameters</h3><p><code>_default_collation</code></p><hr><h2><a name="method_set_focus">set_focus</a></h2><p><code>public void <strong>set_focus</strong>(org.eclipse.wst.xml.xpath2.processor.internal.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
+      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_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.ResultSequence val)</code></p><p></p><h3>Parameters</h3><p><code>var</code></p><p><code>val</code></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.VariableScope.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.VariableScope.html
new file mode 100644
index 0000000..e82f7f4
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.VariableScope.html
@@ -0,0 +1,21 @@
+<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.VariableScope</h2><br><hr><pre>package-private class <strong>DefaultEvaluator.VariableScope</strong>
+extends java.lang.Object</pre><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 org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code></td><td width="80%" align="left"><code><a href="#field_name">name</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.DefaultEvaluator.VariableScope</code></td><td width="80%" align="left"><code><a href="#field_nextScope">nextScope</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="80%" align="left"><code><a href="#field_value">value</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_DefaultEvaluator.VariableScope">DefaultEvaluator.VariableScope</a></strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
+         ,
+      org.eclipse.wst.xml.xpath2.api.ResultSequence value
+         ,
+      org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.VariableScope nextScope)</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_name">name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>name</strong></code></p><hr><h2><a name="field_nextScope">nextScope</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.VariableScope <strong>nextScope</strong></code></p><hr><h2><a name="field_value">value</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>value</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_DefaultEvaluator.VariableScope">DefaultEvaluator.VariableScope</a></h2><p><code>public <strong>DefaultEvaluator.VariableScope</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
+         ,
+      org.eclipse.wst.xml.xpath2.api.ResultSequence value
+         ,
+      org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.VariableScope nextScope)</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.DefaultEvaluator.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.html
index 152c421..5c5b34c 100644
--- 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
@@ -1,12 +1,26 @@
 <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 cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></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_DefaultEvaluator">DefaultEvaluator</a></strong>(org.eclipse.wst.xml.xpath2.processor.DynamicContext dc
+extends java.lang.Object</pre>Default evaluator interface<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></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_DefaultEvaluator">DefaultEvaluator</a></strong>(org.eclipse.wst.xml.xpath2.processor.DynamicContext dynamicContext
          ,
-      org.w3c.dom.Document doc)</code></td></tr><tr><td><code><strong><a href="#con_DefaultEvaluator.DummyError">DefaultEvaluator.DummyError</a></strong>(int type)</code></td></tr><tr><td><code><strong><a href="#con_DefaultEvaluator.Pair">DefaultEvaluator.Pair</a></strong>(java.lang.Object o
+      org.w3c.dom.Document doc)</code></td></tr><tr><td><code><strong><a href="#con_DefaultEvaluator">DefaultEvaluator</a></strong>(org.eclipse.wst.xml.xpath2.api.StaticContext staticContext
          ,
-      java.lang.Object t)</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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode node)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext
+         ,
+      java.lang.Object[] contextItems)</code></td></tr><tr><td><code><strong><a href="#con_DefaultEvaluator.Pair">DefaultEvaluator.Pair</a></strong>(java.lang.Object o
+         ,
+      java.lang.Object t)</code></td></tr><tr><td><code><strong><a href="#con_DefaultEvaluator.VariableScope">DefaultEvaluator.VariableScope</a></strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
+         ,
+      org.eclipse.wst.xml.xpath2.api.ResultSequence value
+         ,
+      org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.VariableScope nextScope)</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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>
+               evaluate the xpath node</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_evaluate2">evaluate2</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode node)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private org.eclipse.wst.xml.xpath2.processor.internal.Focus</code></td><td width="" align="left"><code><a href="#method_focus">focus</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private void</code></td><td width="" align="left"><code><a href="#method_set_focus">set_focus</a>(org.eclipse.wst.xml.xpath2.processor.internal.Focus f)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ForExpr fex)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -108,8 +122,12 @@
                &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
+               </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 dynamicContext
          ,
-      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>
+      org.w3c.dom.Document doc)</code></p><p></p><hr><h2><a name="con_DefaultEvaluator">DefaultEvaluator</a></h2><p><code>public <strong>DefaultEvaluator</strong>(org.eclipse.wst.xml.xpath2.api.StaticContext staticContext
+         ,
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext
+         ,
+      java.lang.Object[] contextItems)</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_evaluate">evaluate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>evaluate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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
+               </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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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><hr><h2><a name="method_evaluate2">evaluate2</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>evaluate2</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode node)</code></p><p></p><h3>Parameters</h3><p><code>node</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.ResultSequence</code></p><hr><h2><a name="method_focus">focus</a></h2><p><code>package-private org.eclipse.wst.xml.xpath2.processor.internal.Focus <strong>focus</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.Focus</code></p><hr><h2><a name="method_set_focus">set_focus</a></h2><p><code>package-private void <strong>set_focus</strong>(org.eclipse.wst.xml.xpath2.processor.internal.Focus f)</code></p><p></p><h3>Parameters</h3><p><code>f</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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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
index df5a6ab..31b4f4d 100644
--- 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
@@ -1,6 +1,6 @@
 <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>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_CODEPOINT_COLLATION">CODEPOINT_COLLATION</a></code><br>
+extends </pre>Interface for dynamic context.<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>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_CODEPOINT_COLLATION">CODEPOINT_COLLATION</a></code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                The default collation which is guaranteed to always be implemented</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.AnyType</code></td><td width="" align="left"><code><a href="#method_context_item">context_item</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -20,7 +20,7 @@
                &nbsp;&nbsp;&nbsp;&nbsp;
                Return a useful collator for the specified URI</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>
+               Get document.</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_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;
@@ -34,7 +34,11 @@
          ,
       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>
+               Set variable.</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.ResultSequence val)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Sets a XPath2 sequence into 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>
                   Field Detail
@@ -42,6 +46,8 @@
                   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_default_collation_name">default_collation_name</a></h2><p><code>public java.lang.String <strong>default_collation_name</strong>()</code></p><p>Returns the current default collator</p><h3>Returns</h3><p><code>java.lang.String</code> - The default name to use as the collator</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 org.eclipse.wst.xml.xpath2.processor.internal.Focus <strong>focus</strong>()</code></p><p>Return focus.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.Focus</code> - Focus</p><hr><h2><a name="method_get_collation">get_collation</a></h2><p><code>public java.util.Comparator <strong>get_collation</strong>(java.lang.String uri)</code></p><p>Return a useful collator for the specified URI</p><h3>Parameters</h3><p><code>uri</code></p><h3>Returns</h3><p><code>java.util.Comparator</code> - A Jaa collator, or null, if no such Collator exists</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_node_position">node_position</a></h2><p><code>public int <strong>node_position</strong>(org.w3c.dom.Node node)</code></p><p></p><h3>Parameters</h3><p><code>node</code></p><h3>Returns</h3><p><code>int</code></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>(org.eclipse.wst.xml.xpath2.processor.internal.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
+      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 org.eclipse.wst.xml.xpath2.processor.internal.Focus <strong>focus</strong>()</code></p><p>Return focus.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.Focus</code> - Focus</p><hr><h2><a name="method_get_collation">get_collation</a></h2><p><code>public java.util.Comparator <strong>get_collation</strong>(java.lang.String uri)</code></p><p>Return a useful collator for the specified URI</p><h3>Parameters</h3><p><code>uri</code></p><h3>Returns</h3><p><code>java.util.Comparator</code> - A Jaa collator, or null, if no such Collator exists</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 java.lang.Object <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>java.lang.Object</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_node_position">node_position</a></h2><p><code>public int <strong>node_position</strong>(org.w3c.dom.Node node)</code></p><p></p><h3>Parameters</h3><p><code>node</code></p><h3>Returns</h3><p><code>int</code></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>(org.eclipse.wst.xml.xpath2.processor.internal.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
+      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_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.ResultSequence val)</code></p><p>Sets a XPath2 sequence into a variable.</p><h3>Parameters</h3><p><code>var</code></p><p><code>val</code></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
index 66109c7..3ab231c 100644
--- 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
@@ -62,7 +62,11 @@
                &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>
+               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_runtime_error">runtime_error</a>(java.lang.String msg
+         ,
+      java.lang.Throwable 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_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;
@@ -84,7 +88,9 @@
          ,
       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>(org.eclipse.wst.xml.xpath2.processor.internal.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_argument_type_error">argument_type_error</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>argument_type_error</strong>(java.lang.Class type)</code></p><p>Returns the dynamic error.</p><h3>Parameters</h3><p><code>type</code> - Type found</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the DynamicError.</p><hr><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_errorResolvingURI">errorResolvingURI</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>errorResolvingURI</strong>()</code></p><p>Error resolving relative uri against base-uri.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_inconsistentTimeZone">inconsistentTimeZone</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>inconsistentTimeZone</strong>()</code></p><p>The two arguments to fn:dateTime have inconsistent timezones</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_inputToLargeForDecimal">inputToLargeForDecimal</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>inputToLargeForDecimal</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></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_invalidCollectionArgument">invalidCollectionArgument</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>invalidCollectionArgument</strong>()</code></p><p>Returns the error message when reads Invalid argument to fn:collection</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_invalidLexicalValue">invalidLexicalValue</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>invalidLexicalValue</strong>()</code></p><p>Invalid lexical value</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></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_invalidTimezone">invalidTimezone</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>invalidTimezone</strong>()</code></p><p>Invalid Timezone value.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_invalidType">invalidType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>invalidType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><h3>Throws:</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_nan">nan</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>nan</strong>()</code></p><p>Overflow/underflow in duration operation.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_noBaseURI">noBaseURI</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>noBaseURI</strong>()</code></p><p>No base-uri defined.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></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_overflowDateTime">overflowDateTime</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>overflowDateTime</strong>()</code></p><p>Overflow/underflow in date/time operation</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_overflowUnderflow">overflowUnderflow</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>overflowUnderflow</strong>()</code></p><p>Overflow/underflow in duration operation.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></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_collation">unsupported_collation</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>unsupported_collation</strong>(java.lang.String collationName)</code></p><p>Returns the dynamic error for an unsupported normalization form</p><h3>Parameters</h3><p><code>collationName</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
+               </h2></td></tr></table><h2><a name="method_argument_type_error">argument_type_error</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>argument_type_error</strong>(java.lang.Class type)</code></p><p>Returns the dynamic error.</p><h3>Parameters</h3><p><code>type</code> - Type found</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the DynamicError.</p><hr><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_errorResolvingURI">errorResolvingURI</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>errorResolvingURI</strong>()</code></p><p>Error resolving relative uri against base-uri.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_inconsistentTimeZone">inconsistentTimeZone</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>inconsistentTimeZone</strong>()</code></p><p>The two arguments to fn:dateTime have inconsistent timezones</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_inputToLargeForDecimal">inputToLargeForDecimal</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>inputToLargeForDecimal</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></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_invalidCollectionArgument">invalidCollectionArgument</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>invalidCollectionArgument</strong>()</code></p><p>Returns the error message when reads Invalid argument to fn:collection</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_invalidLexicalValue">invalidLexicalValue</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>invalidLexicalValue</strong>()</code></p><p>Invalid lexical value</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></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_invalidTimezone">invalidTimezone</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>invalidTimezone</strong>()</code></p><p>Invalid Timezone value.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_invalidType">invalidType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>invalidType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><h3>Throws:</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_nan">nan</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>nan</strong>()</code></p><p>Overflow/underflow in duration operation.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_noBaseURI">noBaseURI</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>noBaseURI</strong>()</code></p><p>No base-uri defined.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></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_overflowDateTime">overflowDateTime</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>overflowDateTime</strong>()</code></p><p>Overflow/underflow in date/time operation</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_overflowUnderflow">overflowUnderflow</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>overflowUnderflow</strong>()</code></p><p>Overflow/underflow in duration operation.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></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_runtime_error">runtime_error</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>runtime_error</strong>(java.lang.String msg
+         ,
+      java.lang.Throwable err)</code></p><p>Returns the dynamic error for an unsupported normalization form</p><h3>Parameters</h3><p><code>msg</code></p><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_collation">unsupported_collation</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>unsupported_collation</strong>(java.lang.String collationName)</code></p><p>Returns the dynamic error for an unsupported normalization form</p><h3>Parameters</h3><p><code>collationName</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
          ,
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.Engine.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.Engine.html
new file mode 100644
index 0000000..d9cffa2
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.Engine.html
@@ -0,0 +1,15 @@
+<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 Engine</h2><br><hr><pre>public class <strong>Engine</strong>
+extends java.lang.Object</pre><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_Engine">Engine</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>package-private boolean</code></td><td width="" align="left"><code><a href="#method_effectiveBooleanValue">effectiveBooleanValue</a>(org.eclipse.wst.xml.xpath2.api.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.api.XPath2Expression</code></td><td width="" align="left"><code><a href="#method_parseExpression">parseExpression</a>(java.lang.String expression
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext context)</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_Engine">Engine</a></h2><p><code>public <strong>Engine</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_effectiveBooleanValue">effectiveBooleanValue</a></h2><p><code>package-private boolean <strong>effectiveBooleanValue</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs)</code></p><p></p><h3>Parameters</h3><p><code>rs</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_parseExpression">parseExpression</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.XPath2Expression <strong>parseExpression</strong>(java.lang.String expression
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext context)</code></p><p></p><h3>Parameters</h3><p><code>expression</code></p><p><code>context</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.XPath2Expression</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
index 7994a35..0373130 100644
--- 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
@@ -2,8 +2,14 @@
                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><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
+         ,
+      boolean isRootlessAccess)</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
+               </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><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
+         ,
+      boolean isRootlessAccess)</code></p><p>Tries to parse the xpath expression</p><h3>Parameters</h3><p><code>xpath</code> - is the xpath string.</p><p><code>isRootlessAccess</code> - if 'true' then PsychoPath engine can't parse xpath expressions starting with / or //.</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.PsychoPathTypeHelper.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.PsychoPathTypeHelper.html
new file mode 100644
index 0000000..0567baa
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.PsychoPathTypeHelper.html
@@ -0,0 +1,16 @@
+<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 PsychoPathTypeHelper</h2><br><hr><pre>public class <strong>PsychoPathTypeHelper</strong>
+extends java.lang.Object</pre>An PsychoPath Engine helper class providing useful module implementations for commonly 
+ performed "XML schema" evaluation tasks.<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>public static  short</code></td><td width="80%" align="left"><code><a href="#field_DAYTIMEDURATION_DT">DAYTIMEDURATION_DT</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  short</code></td><td width="80%" align="left"><code><a href="#field_YEARMONTHDURATION_DT">YEARMONTHDURATION_DT</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_PsychoPathTypeHelper">PsychoPathTypeHelper</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 short</code></td><td width="" align="left"><code><a href="#method_getXSDTypeShortCode">getXSDTypeShortCode</a>(org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition typeDef)</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>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_DAYTIMEDURATION_DT">DAYTIMEDURATION_DT</a></h2><p><code>public static  short <strong>DAYTIMEDURATION_DT</strong></code></p><hr><h2><a name="field_YEARMONTHDURATION_DT">YEARMONTHDURATION_DT</a></h2><p><code>public static  short <strong>YEARMONTHDURATION_DT</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_PsychoPathTypeHelper">PsychoPathTypeHelper</a></h2><p><code>public <strong>PsychoPathTypeHelper</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_getXSDTypeShortCode">getXSDTypeShortCode</a></h2><p><code>public short <strong>getXSDTypeShortCode</strong>(org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition typeDef)</code></p><p></p><h3>Parameters</h3><p><code>typeDef</code></p><h3>Returns</h3><p><code>short</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
index dd812a6..63896d4 100644
--- 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
@@ -1,6 +1,6 @@
 <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>
+extends java.lang.Object</pre>Interface to the methods of range of result sequence<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_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;
@@ -14,7 +14,11 @@
                &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>
+               get item in index i</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.Item</code></td><td width="" align="left"><code><a href="#method_item">item</a>(int index)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></td><td width="" align="left"><code><a href="#method_itemType">itemType</a>(int index)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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;
@@ -22,8 +26,10 @@
                &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>
+               retrieve items in sequence</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_value">value</a>(int index)</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_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
+               </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_item">item</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.Item <strong>item</strong>(int index)</code></p><p></p><h3>Parameters</h3><p><code>index</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.Item</code></p><hr><h2><a name="method_itemType">itemType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType <strong>itemType</strong>(int index)</code></p><p></p><h3>Parameters</h3><p><code>index</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</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><h2><a name="method_value">value</a></h2><p><code>public java.lang.Object <strong>value</strong>(int index)</code></p><p></p><h3>Parameters</h3><p><code>index</code></p><h3>Returns</h3><p><code>java.lang.Object</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
index 6f1aa75..5ed5604 100644
--- 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
@@ -1,6 +1,6 @@
 <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>
+extends </pre>interface to static context<p></p><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
          ,
@@ -10,7 +10,7 @@
                &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 org.apache.xerces.xs.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>
+               is the attribute declared?</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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;
@@ -26,13 +26,13 @@
                &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
          ,
-      org.apache.xerces.xs.XSTypeDefinition et)</code><br>
+      org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition 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 org.apache.xerces.xs.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>
+               is the element declared?</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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;
@@ -46,7 +46,9 @@
                &nbsp;&nbsp;&nbsp;&nbsp;
                is the element declared?</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Map</code></td><td width="" align="left"><code><a href="#method_get_collections">get_collections</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.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>
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel</code></td><td width="" align="left"><code><a href="#method_getTypeModel">getTypeModel</a>(org.w3c.dom.Node element)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Gets the type provider in use for the specified DOM node.</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;
@@ -70,10 +72,10 @@
                   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 org.apache.xerces.xs.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>org.apache.xerces.xs.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
+      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 org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <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>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
          ,
-      org.apache.xerces.xs.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 org.apache.xerces.xs.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>org.apache.xerces.xs.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
+      org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition 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 org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <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>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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_get_collections">get_collections</a></h2><p><code>public java.util.Map <strong>get_collections</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Map</code></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_set_collections">set_collections</a></h2><p><code>public void <strong>set_collections</strong>(java.util.Map collections)</code></p><p></p><h3>Parameters</h3><p><code>collections</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
+      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_get_collections">get_collections</a></h2><p><code>public java.util.Map <strong>get_collections</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Map</code></p><hr><h2><a name="method_getTypeModel">getTypeModel</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel <strong>getTypeModel</strong>(org.w3c.dom.Node element)</code></p><p>Gets the type provider in use for the specified DOM node.</p><h3>Parameters</h3><p><code>element</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel</code></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_set_collections">set_collections</a></h2><p><code>public void <strong>set_collections</strong>(java.util.Map collections)</code></p><p></p><h3>Parameters</h3><p><code>collections</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.StaticNameResolver.VariableScope.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.VariableScope.html
new file mode 100644
index 0000000..9285ed7
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.VariableScope.html
@@ -0,0 +1,21 @@
+<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.VariableScope</h2><br><hr><pre>package-private class <strong>StaticNameResolver.VariableScope</strong>
+extends java.lang.Object</pre><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 org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code></td><td width="80%" align="left"><code><a href="#field_name">name</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.StaticNameResolver.VariableScope</code></td><td width="80%" align="left"><code><a href="#field_nextScope">nextScope</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></td><td width="80%" align="left"><code><a href="#field_typeDef">typeDef</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_StaticNameResolver.VariableScope">StaticNameResolver.VariableScope</a></strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
+         ,
+      org.eclipse.wst.xml.xpath2.api.typesystem.ItemType typeDef
+         ,
+      org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.VariableScope nextScope)</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_name">name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>name</strong></code></p><hr><h2><a name="field_nextScope">nextScope</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.VariableScope <strong>nextScope</strong></code></p><hr><h2><a name="field_typeDef">typeDef</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType <strong>typeDef</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_StaticNameResolver.VariableScope">StaticNameResolver.VariableScope</a></h2><p><code>public <strong>StaticNameResolver.VariableScope</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
+         ,
+      org.eclipse.wst.xml.xpath2.api.typesystem.ItemType typeDef
+         ,
+      org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.VariableScope nextScope)</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.StaticNameResolver.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.html
index 53b4530..a797f05 100644
--- 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
@@ -1,8 +1,20 @@
 <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><tr><td><code><strong><a href="#con_StaticNameResolver.DummyError">StaticNameResolver.DummyError</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_check">check</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode node)</code><br>
+extends java.lang.Object</pre>This class resolves static names.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></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_StaticNameResolver">StaticNameResolver</a></strong>(org.eclipse.wst.xml.xpath2.processor.StaticContext sc)</code></td></tr><tr><td><code><strong><a href="#con_StaticNameResolver">StaticNameResolver</a></strong>(org.eclipse.wst.xml.xpath2.api.StaticContext context)</code></td></tr><tr><td><code><strong><a href="#con_StaticNameResolver.DummyError">StaticNameResolver.DummyError</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_StaticNameResolver.VariableScope">StaticNameResolver.VariableScope</a></strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
+         ,
+      org.eclipse.wst.xml.xpath2.api.typesystem.ItemType typeDef
+         ,
+      org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.VariableScope nextScope)</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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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
+               Check the XPath node.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Set</code></td><td width="" align="left"><code><a href="#method_getAxes">getAxes</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Set</code></td><td width="" align="left"><code><a href="#method_getFreeVariables">getFreeVariables</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Set</code></td><td width="" align="left"><code><a href="#method_getResolvedFunctions">getResolvedFunctions</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_isRootUsed">isRootUsed</a>()</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_printBinExpr">printBinExpr</a>(java.lang.String name
          ,
       org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr e)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -112,9 +124,9 @@
                &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>
+               </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><h2><a name="con_StaticNameResolver">StaticNameResolver</a></h2><p><code>public <strong>StaticNameResolver</strong>(org.eclipse.wst.xml.xpath2.api.StaticContext context)</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_check">check</a></h2><p><code>public void <strong>check</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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
+               </h2></td></tr></table><h2><a name="method_check">check</a></h2><p><code>public void <strong>check</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_getAxes">getAxes</a></h2><p><code>public java.util.Set <strong>getAxes</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Set</code></p><hr><h2><a name="method_getFreeVariables">getFreeVariables</a></h2><p><code>public java.util.Set <strong>getFreeVariables</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Set</code></p><hr><h2><a name="method_getResolvedFunctions">getResolvedFunctions</a></h2><p><code>public java.util.Set <strong>getResolvedFunctions</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Set</code></p><hr><h2><a name="method_isRootUsed">isRootUsed</a></h2><p><code>public boolean <strong>isRootUsed</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_printBinExpr">printBinExpr</a></h2><p><code>public void <strong>printBinExpr</strong>(java.lang.String name
          ,
       org.eclipse.wst.xml.xpath2.processor.internal.ast.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
          ,
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
index c12ee7c..a3129f9 100644
--- 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
@@ -1,9 +1,11 @@
 <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>
+extends java.lang.RuntimeException</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_getMessage">getMessage</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_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
+               </h2></td></tr></table><h2><a name="method_getMessage">getMessage</a></h2><p><code>public java.lang.String <strong>getMessage</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><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
index 651df74..5ce2dfa 100644
--- 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
@@ -2,6 +2,12 @@
                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><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
+         ,
+      boolean isRootlessAccess)</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
+               </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><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
+         ,
+      boolean isRootlessAccess)</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><p><code>isRootlessAccess</code> - if 'true' then PsychoPath engine can't parse xpath expressions starting with / or //.</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.ast.XPath.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.ast.XPath.html
index 35d815d..e46ae31 100644
--- 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
@@ -1,11 +1,37 @@
 <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 org.eclipse.wst.xml.xpath2.processor.internal.ast.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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor v)</code><br>
+extends org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode</pre>Support for XPath.<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_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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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>
+               Support for Visitor interface.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_evaluate">evaluate</a>(org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext
+         ,
+      java.lang.Object[] contextItems)</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>
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Collection</code></td><td width="" align="left"><code><a href="#method_getAxes">getAxes</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Collection</code></td><td width="" align="left"><code><a href="#method_getFreeVariables">getFreeVariables</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Collection</code></td><td width="" align="left"><code><a href="#method_getResolvedFunctions">getResolvedFunctions</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.StaticContext</code></td><td width="" align="left"><code><a href="#method_getStaticContext">getStaticContext</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_isRootPathUsed">isRootPathUsed</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setAxes">setAxes</a>(java.util.Collection _axes)</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_setFreeVariables">setFreeVariables</a>(java.util.Collection _freeVariables)</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_setResolvedFunctions">setResolvedFunctions</a>(java.util.Collection _resolvedFunctions)</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_setRootUsed">setRootUsed</a>(boolean _rootUsed)</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_setStaticContext">setStaticContext</a>(org.eclipse.wst.xml.xpath2.api.StaticContext context)</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_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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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
+               </h2></td></tr></table><h2><a name="method_accept">accept</a></h2><p><code>public java.lang.Object <strong>accept</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_evaluate">evaluate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>evaluate</strong>(org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext
+         ,
+      java.lang.Object[] contextItems)</code></p><p></p><h3>Parameters</h3><p><code>dynamicContext</code></p><p><code>contextItems</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.ResultSequence</code></p><hr><h2><a name="method_getAxes">getAxes</a></h2><p><code>public java.util.Collection <strong>getAxes</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Collection</code></p><hr><h2><a name="method_getFreeVariables">getFreeVariables</a></h2><p><code>public java.util.Collection <strong>getFreeVariables</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Collection</code></p><hr><h2><a name="method_getResolvedFunctions">getResolvedFunctions</a></h2><p><code>public java.util.Collection <strong>getResolvedFunctions</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Collection</code></p><hr><h2><a name="method_getStaticContext">getStaticContext</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.StaticContext <strong>getStaticContext</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.StaticContext</code></p><hr><h2><a name="method_isRootPathUsed">isRootPathUsed</a></h2><p><code>public boolean <strong>isRootPathUsed</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></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><h2><a name="method_setAxes">setAxes</a></h2><p><code>public void <strong>setAxes</strong>(java.util.Collection _axes)</code></p><p></p><h3>Parameters</h3><p><code>_axes</code></p><hr><h2><a name="method_setFreeVariables">setFreeVariables</a></h2><p><code>public void <strong>setFreeVariables</strong>(java.util.Collection _freeVariables)</code></p><p></p><h3>Parameters</h3><p><code>_freeVariables</code></p><hr><h2><a name="method_setResolvedFunctions">setResolvedFunctions</a></h2><p><code>public void <strong>setResolvedFunctions</strong>(java.util.Collection _resolvedFunctions)</code></p><p></p><h3>Parameters</h3><p><code>_resolvedFunctions</code></p><hr><h2><a name="method_setRootUsed">setRootUsed</a></h2><p><code>public void <strong>setRootUsed</strong>(boolean _rootUsed)</code></p><p></p><h3>Parameters</h3><p><code>_rootUsed</code></p><hr><h2><a name="method_setStaticContext">setStaticContext</a></h2><p><code>public void <strong>setStaticContext</strong>(org.eclipse.wst.xml.xpath2.api.StaticContext context)</code></p><p></p><h3>Parameters</h3><p><code>context</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.AncestorAxis.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.AncestorAxis.html
index 300271c..1bcc016 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.AncestorAxis.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.AncestorAxis.html
@@ -1,14 +1,20 @@
 <html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
                Class AncestorAxis</h2><br><hr><pre>public class <strong>AncestorAxis</strong>
 extends org.eclipse.wst.xml.xpath2.processor.internal.ParentAxis</pre>Returns the ancestors of the context node, this always includes the root
- 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_AncestorAxis">AncestorAxis</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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+ 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_AncestorAxis">AncestorAxis</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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code><br>
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer copyInto
+         ,
+      org.w3c.dom.Node limitNode)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               Get the ancestors of the context node.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+               Get the ancestors of the context 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_name">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_AncestorAxis">AncestorAxis</a></h2><p><code>public <strong>AncestorAxis</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_iterate">iterate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+               </h2></td></tr></table><h2><a name="method_iterate">iterate</a></h2><p><code>public void <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code></p><p>Get the ancestors of the context node.</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>dc</code> - is the dynamic context.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - The nodes that are ancestors of the context node.</p><hr></body></html>
\ No newline at end of file
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer copyInto
+         ,
+      org.w3c.dom.Node limitNode)</code></p><p>Get the ancestors of the context node.</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>copyInto</code></p><p><code>limitNode</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public java.lang.String <strong>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.AncestorOrSelfAxis.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.AncestorOrSelfAxis.html
index 8915f33..ffaffd5 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.AncestorOrSelfAxis.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.AncestorOrSelfAxis.html
@@ -1,14 +1,20 @@
 <html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
                Class AncestorOrSelfAxis</h2><br><hr><pre>public class <strong>AncestorOrSelfAxis</strong>
 extends org.eclipse.wst.xml.xpath2.processor.internal.ReverseAxis</pre>The ancestor-or-self axis contains the context node and the ancestors of the
- context node, this always includes the root 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_AncestorOrSelfAxis">AncestorOrSelfAxis</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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+ context node, this always includes the root 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_AncestorOrSelfAxis">AncestorOrSelfAxis</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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code><br>
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer copyInto
+         ,
+      org.w3c.dom.Node limitNode)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               Get ancestor nodes of the context node and the context node itself.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+               Get ancestor nodes of the context node and the context node itself.</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_name">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_AncestorOrSelfAxis">AncestorOrSelfAxis</a></h2><p><code>public <strong>AncestorOrSelfAxis</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_iterate">iterate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+               </h2></td></tr></table><h2><a name="method_iterate">iterate</a></h2><p><code>public void <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code></p><p>Get ancestor nodes of the context node and the context node itself.</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>dc</code> - is the dynamic context.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - The context node and its ancestors.</p><hr></body></html>
\ No newline at end of file
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer copyInto
+         ,
+      org.w3c.dom.Node limitNode)</code></p><p>Get ancestor nodes of the context node and the context node itself.</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>copyInto</code></p><p><code>limitNode</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public java.lang.String <strong>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.AttributeAxis.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.AttributeAxis.html
index 675796e..384f754 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.AttributeAxis.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.AttributeAxis.html
@@ -1,16 +1,22 @@
 <html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
                Class AttributeAxis</h2><br><hr><pre>public class <strong>AttributeAxis</strong>
 extends org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis</pre>The attribute axis contains the attributes of the context node. The axis will
- be empty unless the context node is an element.<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_AttributeAxis">AttributeAxis</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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+ be empty unless the context node is an element.<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_AttributeAxis">AttributeAxis</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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code><br>
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer copyInto
+         ,
+      org.w3c.dom.Node limitNode)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the context node's attributes.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType</code></td><td width="" align="left"><code><a href="#method_principal_node_kind">principal_node_kind</a>()</code><br>
+               Retrieves the context node's attributes.</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_name">name</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.NodeType</code></td><td width="" align="left"><code><a href="#method_principal_node_kind">principal_node_kind</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                Retrieves the node's principle node kind.</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_AttributeAxis">AttributeAxis</a></h2><p><code>public <strong>AttributeAxis</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_iterate">iterate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+               </h2></td></tr></table><h2><a name="method_iterate">iterate</a></h2><p><code>public void <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code></p><p>Retrieves the context node's attributes.</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>dc</code> - is the dynamic context.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - The attibutes of the context node.</p><hr><h2><a name="method_principal_node_kind">principal_node_kind</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType <strong>principal_node_kind</strong>()</code></p><p>Retrieves the node's principle node kind.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType</code> - The type of node.</p><hr></body></html>
\ No newline at end of file
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer copyInto
+         ,
+      org.w3c.dom.Node limitNode)</code></p><p>Retrieves the context node's attributes.</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>copyInto</code></p><p><code>limitNode</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public java.lang.String <strong>name</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_principal_node_kind">principal_node_kind</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType <strong>principal_node_kind</strong>()</code></p><p>Retrieves the node's principle node kind.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType</code> - The type of node.</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.Axis.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.Axis.html
index 8aca1a6..528112a 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.Axis.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.Axis.html
@@ -3,14 +3,20 @@
 extends </pre>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.<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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+ and another node that is reachable via the axis.<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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code><br>
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer copyInto
+         ,
+      org.w3c.dom.Node limitNode)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               Get elements and attributes.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType</code></td><td width="" align="left"><code><a href="#method_principal_node_kind">principal_node_kind</a>()</code><br>
+               Get elements and attributes.</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_name">name</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns the title of the sequence as it appears in the XPath source</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType</code></td><td width="" align="left"><code><a href="#method_principal_node_kind">principal_node_kind</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                Get the principle kind of 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_iterate">iterate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+               </h2></td></tr></table><h2><a name="method_iterate">iterate</a></h2><p><code>public void <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code></p><p>Get elements and attributes.</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>dc</code> - is the dynamic context.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - The result sequence.</p><hr><h2><a name="method_principal_node_kind">principal_node_kind</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType <strong>principal_node_kind</strong>()</code></p><p>Get the principle kind of node.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType</code> - The principle node kind.</p><hr></body></html>
\ No newline at end of file
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer copyInto
+         ,
+      org.w3c.dom.Node limitNode)</code></p><p>Get elements and attributes.</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>copyInto</code> - TODO</p><p><code>limitNode</code> - TODO</p><hr><h2><a name="method_name">name</a></h2><p><code>public java.lang.String <strong>name</strong>()</code></p><p>Returns the title of the sequence as it appears in the XPath source</p><h3>Returns</h3><p><code>java.lang.String</code> - Axis title</p><hr><h2><a name="method_principal_node_kind">principal_node_kind</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType <strong>principal_node_kind</strong>()</code></p><p>Get the principle kind of node.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType</code> - The principle node kind.</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.ChildAxis.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ChildAxis.html
index 11e1c91..0850d67 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ChildAxis.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ChildAxis.html
@@ -1,13 +1,29 @@
 <html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
                Class ChildAxis</h2><br><hr><pre>public class <strong>ChildAxis</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis</pre>The child axis contains the children of the context 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_ChildAxis">ChildAxis</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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+extends org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis</pre>The child axis contains the children of the context 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_ChildAxis">ChildAxis</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>protected void</code></td><td width="" align="left"><code><a href="#method_addChildren">addChildren</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code><br>
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer copyInto
+         ,
+      boolean recurse)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               Retrieves the context node's children.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+         ,
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer copyInto
+         ,
+      org.w3c.dom.Node limitNode)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Retrieves the context node's children.</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_name">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_ChildAxis">ChildAxis</a></h2><p><code>public <strong>ChildAxis</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_iterate">iterate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+               </h2></td></tr></table><h2><a name="method_addChildren">addChildren</a></h2><p><code>protected void <strong>addChildren</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code></p><p>Retrieves the context node's children.</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>dc</code> - is the dynamic context.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - The context node's children.</p><hr></body></html>
\ No newline at end of file
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer copyInto
+         ,
+      boolean recurse)</code></p><p></p><h3>Parameters</h3><p><code>node</code></p><p><code>copyInto</code></p><p><code>recurse</code></p><hr><h2><a name="method_iterate">iterate</a></h2><p><code>public void <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+         ,
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer copyInto
+         ,
+      org.w3c.dom.Node limitNode)</code></p><p>Retrieves the context node's children.</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>copyInto</code></p><p><code>limitNode</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public java.lang.String <strong>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.DefaultResultSequence.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DefaultResultSequence.html
index e66aa0e..2b16ca5 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DefaultResultSequence.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DefaultResultSequence.html
@@ -1,6 +1,6 @@
 <html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
                Class DefaultResultSequence</h2><br><hr><pre>public class <strong>DefaultResultSequence</strong>
-extends org.eclipse.wst.xml.xpath2.processor.ResultSequence</pre>Default implementation of a 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_DefaultResultSequence">DefaultResultSequence</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_DefaultResultSequence">DefaultResultSequence</a></strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType item)</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>
+extends org.eclipse.wst.xml.xpath2.processor.ResultSequence</pre>Default implementation of a result sequence.<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_DefaultResultSequence">DefaultResultSequence</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_DefaultResultSequence">DefaultResultSequence</a></strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType item)</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;
                </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;
@@ -12,10 +12,14 @@
                &nbsp;&nbsp;&nbsp;&nbsp;
                Whether or not array _seq 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;
+               </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_firstValue">firstValue</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.AnyType</code></td><td width="" align="left"><code><a href="#method_get">get</a>(int i)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                </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;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></td><td width="" align="left"><code><a href="#method_sequenceType">sequenceType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
                </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;
                </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
@@ -24,4 +28,4 @@
  
  an empty array is created</p><hr><h2><a name="con_DefaultResultSequence">DefaultResultSequence</a></h2><p><code>public <strong>DefaultResultSequence</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType item)</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></p><h3>Parameters</h3><p><code>item</code> - is added to array _seq</p><hr><h2><a name="method_clear">clear</a></h2><p><code>public void <strong>clear</strong>()</code></p><p>Clears the sequence.</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></p><h3>Parameters</h3><p><code>rs</code> - ResultSequence</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 sequence.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - The new sequence.</p><hr><h2><a name="method_empty">empty</a></h2><p><code>public boolean <strong>empty</strong>()</code></p><p>Whether or not array _seq is empty</p><h3>Returns</h3><p><code>boolean</code> - a 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></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - first item from array _seq</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></p><h3>Parameters</h3><p><code>i</code> - is the position of the array item that is wanted.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - item i from array _seq</p><hr><h2><a name="method_iterator">iterator</a></h2><p><code>public java.util.ListIterator <strong>iterator</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.ListIterator</code> - the next iteration of array _seq</p><hr><h2><a name="method_size">size</a></h2><p><code>public int <strong>size</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code> - integer of the size of array _seq</p><hr></body></html>
\ No newline at end of file
+               </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></p><h3>Parameters</h3><p><code>item</code> - is added to array _seq</p><hr><h2><a name="method_clear">clear</a></h2><p><code>public void <strong>clear</strong>()</code></p><p>Clears the sequence.</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></p><h3>Parameters</h3><p><code>rs</code> - ResultSequence</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 sequence.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - The new sequence.</p><hr><h2><a name="method_empty">empty</a></h2><p><code>public boolean <strong>empty</strong>()</code></p><p>Whether or not array _seq is empty</p><h3>Returns</h3><p><code>boolean</code> - a 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></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - first item from array _seq</p><hr><h2><a name="method_firstValue">firstValue</a></h2><p><code>public java.lang.Object <strong>firstValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code> - first item from array _seq</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></p><h3>Parameters</h3><p><code>i</code> - is the position of the array item that is wanted.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - item i from array _seq</p><hr><h2><a name="method_iterator">iterator</a></h2><p><code>public java.util.ListIterator <strong>iterator</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.ListIterator</code> - the next iteration of array _seq</p><hr><h2><a name="method_sequenceType">sequenceType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType <strong>sequenceType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></p><hr><h2><a name="method_size">size</a></h2><p><code>public int <strong>size</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code> - integer of the size of array _seq</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.DefaultStaticContext.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DefaultStaticContext.html
index 4f2609c..f3035c1 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DefaultStaticContext.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DefaultStaticContext.html
@@ -1,7 +1,7 @@
 <html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
                Class DefaultStaticContext</h2><br><hr><pre>public class <strong>DefaultStaticContext</strong>
 extends java.lang.Object</pre>Default implementation of a static context as described 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_DefaultStaticContext">DefaultStaticContext</a></strong>(org.apache.xerces.xs.XSModel schema)</code></td></tr><tr><td><code><strong><a href="#con_DefaultStaticContext">DefaultStaticContext</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_function_library">add_function_library</a>(FunctionLibrary fl)</code><br>
+ 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_DefaultStaticContext">DefaultStaticContext</a></strong>(org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel model)</code></td></tr><tr><td><code><strong><a href="#con_DefaultStaticContext">DefaultStaticContext</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_function_library">add_function_library</a>(FunctionLibrary fl)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                Adds a function to the 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
          ,
@@ -13,7 +13,7 @@
  
  used for static checking.... i.e. presence of variables</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;
-               Checks if an attribute is in the in-scope schema definitions.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.apache.xerces.xs.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 elem)</code><br>
+               Checks if an attribute is in the in-scope schema definitions.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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 elem)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                Retrieves type definition of the attribute in an element.</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;
@@ -31,13 +31,13 @@
                &nbsp;&nbsp;&nbsp;&nbsp;
                Checks if an XML node derives from a specified type.</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.apache.xerces.xs.XSTypeDefinition et)</code><br>
+      org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition et)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                Checks if an XML node derives from a specified type definition.</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;
                Destroys a 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 element declared?</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.apache.xerces.xs.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>
+               is element declared?</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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;
                Obtains schema definition of the type of an element.</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;
@@ -46,7 +46,7 @@
                &nbsp;&nbsp;&nbsp;&nbsp;
                Expands a qname and uses the default function namespace if unprefixed.</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;
-               Expands the qname's prefix into a namespace.</td></tr><tr valign="top"><td width="20%" align="right"><code>protected Function</code></td><td width="" align="left"><code><a href="#method_function">function</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
+               Expands the qname's prefix into a namespace.</td></tr><tr valign="top"><td width="20%" align="right"><code>public Function</code></td><td width="" align="left"><code><a href="#method_function">function</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
          ,
       int arity)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -62,7 +62,11 @@
                &nbsp;&nbsp;&nbsp;&nbsp;
                </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Map</code></td><td width="" align="left"><code><a href="#method_get_documents">get_documents</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.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_get_var">get_var</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var)</code><br>
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Map</code></td><td width="" align="left"><code><a href="#method_get_function_libraries">get_function_libraries</a>()</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_get_var">get_var</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 org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel</code></td><td width="" align="left"><code><a href="#method_getTypeModel">getTypeModel</a>(org.w3c.dom.Node node)</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.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;
@@ -87,6 +91,10 @@
          ,
       org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType val)</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_set_variable">set_variable</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var
+         ,
+      org.eclipse.wst.xml.xpath2.processor.ResultSequence val)</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_type_defined">type_defined</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName qname)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                Checks whether the type is defined in the in scope schema definitions.</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>(java.lang.String ns
@@ -101,24 +109,26 @@
                &nbsp;&nbsp;&nbsp;&nbsp;
                is it xpath1 compatible?</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_DefaultStaticContext">DefaultStaticContext</a></h2><p><code>public <strong>DefaultStaticContext</strong>(org.apache.xerces.xs.XSModel schema)</code></p><p>Constructor.</p><hr><h2><a name="con_DefaultStaticContext">DefaultStaticContext</a></h2><p><code>public <strong>DefaultStaticContext</strong>()</code></p><p>Constructor for schema-less documents.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+               </h2></td></tr></table><h2><a name="con_DefaultStaticContext">DefaultStaticContext</a></h2><p><code>public <strong>DefaultStaticContext</strong>(org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel model)</code></p><p>Constructor.</p><hr><h2><a name="con_DefaultStaticContext">DefaultStaticContext</a></h2><p><code>public <strong>DefaultStaticContext</strong>()</code></p><p>Constructor for schema-less documents.</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 a function to the library.</p><h3>Parameters</h3><p><code>fl</code> - Function library to add.</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 namespace)</code></p><p>adds namespace</p><h3>Parameters</h3><p><code>prefix</code> - namespace prefix</p><p><code>namespace</code> - namespace URI</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 var)</code></p><p>Adds a variable to current scope.
  
- used for static checking.... i.e. presence of variables</p><h3>Parameters</h3><p><code>var</code> - variable name to add.</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>Checks if an attribute is in the in-scope schema definitions.</p><h3>Parameters</h3><p><code>attr</code> - name of attribute.</p><h3>Returns</h3><p><code>boolean</code> - true if attribute is declared.</p><hr><h2><a name="method_attribute_type_definition">attribute_type_definition</a></h2><p><code>public org.apache.xerces.xs.XSTypeDefinition <strong>attribute_type_definition</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName elem)</code></p><p>Retrieves type definition of the attribute in an element.</p><h3>Parameters</h3><p><code>elem</code> - element name</p><h3>Returns</h3><p><code>org.apache.xerces.xs.XSTypeDefinition</code> - schema definition of the type of the attribute</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>return the base URI</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI</code> - XSAnyURI</p><hr><h2><a name="method_debug_print_vars">debug_print_vars</a></h2><p><code>public void <strong>debug_print_vars</strong>()</code></p><p>Debug function which will print current variable scopes and info.</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>Retrieves the defaul 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>Retrieves the default namespace, when one is not allocated</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 var)</code></p><p>Deletes a variable from current scope.</p><h3>Parameters</h3><p><code>var</code> - variable name to delete.</p><h3>Returns</h3><p><code>boolean</code> - false if variable doesn't exist.</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
+ used for static checking.... i.e. presence of variables</p><h3>Parameters</h3><p><code>var</code> - variable name to add.</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>Checks if an attribute is in the in-scope schema definitions.</p><h3>Parameters</h3><p><code>attr</code> - name of attribute.</p><h3>Returns</h3><p><code>boolean</code> - true if attribute is declared.</p><hr><h2><a name="method_attribute_type_definition">attribute_type_definition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>attribute_type_definition</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName elem)</code></p><p>Retrieves type definition of the attribute in an element.</p><h3>Parameters</h3><p><code>elem</code> - element name</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code> - schema definition of the type of the attribute</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>return the base URI</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI</code> - XSAnyURI</p><hr><h2><a name="method_debug_print_vars">debug_print_vars</a></h2><p><code>public void <strong>debug_print_vars</strong>()</code></p><p>Debug function which will print current variable scopes and info.</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>Retrieves the defaul 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>Retrieves the default namespace, when one is not allocated</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 var)</code></p><p>Deletes a variable from current scope.</p><h3>Parameters</h3><p><code>var</code> - variable name to delete.</p><h3>Returns</h3><p><code>boolean</code> - false if variable doesn't exist.</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>Checks if an XML node derives from a specified type.</p><h3>Parameters</h3><p><code>at</code> - node actual type</p><p><code>et</code> - name of expected type</p><h3>Returns</h3><p><code>boolean</code> - true if a derivation exists</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.apache.xerces.xs.XSTypeDefinition et)</code></p><p>Checks if an XML node derives from a specified type definition.</p><h3>Parameters</h3><p><code>at</code> - node actual type.</p><p><code>et</code> - type definition of expected type.</p><h3>Returns</h3><p><code>boolean</code> - true if a derivation exists.</p><hr><h2><a name="method_destroy_scope">destroy_scope</a></h2><p><code>public void <strong>destroy_scope</strong>()</code></p><p>Destroys a 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 element declared?</p><h3>Parameters</h3><p><code>elem</code> - name of element.</p><h3>Returns</h3><p><code>boolean</code> - true if element declared.</p><hr><h2><a name="method_element_type_definition">element_type_definition</a></h2><p><code>public org.apache.xerces.xs.XSTypeDefinition <strong>element_type_definition</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName elem)</code></p><p>Obtains schema definition of the type of an element.</p><h3>Parameters</h3><p><code>elem</code> - name of element who's type is desired.</p><h3>Returns</h3><p><code>org.apache.xerces.xs.XSTypeDefinition</code> - schema definition of type</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>Expands a qname and uses the default type/element namespace if
- unprefixed.</p><h3>Parameters</h3><p><code>name</code> - qname to expand.</p><h3>Returns</h3><p><code>boolean</code> - true on success.</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>Expands a qname and uses the default function namespace if unprefixed.</p><h3>Parameters</h3><p><code>name</code> - qname to expand.</p><h3>Returns</h3><p><code>boolean</code> - true on success.</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>Expands the qname's prefix into a namespace.</p><h3>Parameters</h3><p><code>name</code> - qname to expand.</p><h3>Returns</h3><p><code>boolean</code> - true on success.</p><hr><h2><a name="method_function">function</a></h2><p><code>protected Function <strong>function</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
+      org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition et)</code></p><p>Checks if an XML node derives from a specified type definition.</p><h3>Parameters</h3><p><code>at</code> - node actual type.</p><p><code>et</code> - type definition of expected type.</p><h3>Returns</h3><p><code>boolean</code> - true if a derivation exists.</p><hr><h2><a name="method_destroy_scope">destroy_scope</a></h2><p><code>public void <strong>destroy_scope</strong>()</code></p><p>Destroys a 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 element declared?</p><h3>Parameters</h3><p><code>elem</code> - name of element.</p><h3>Returns</h3><p><code>boolean</code> - true if element declared.</p><hr><h2><a name="method_element_type_definition">element_type_definition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>element_type_definition</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName elem)</code></p><p>Obtains schema definition of the type of an element.</p><h3>Parameters</h3><p><code>elem</code> - name of element who's type is desired.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code> - schema definition of type</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>Expands a qname and uses the default type/element namespace if
+ unprefixed.</p><h3>Parameters</h3><p><code>name</code> - qname to expand.</p><h3>Returns</h3><p><code>boolean</code> - true on success.</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>Expands a qname and uses the default function namespace if unprefixed.</p><h3>Parameters</h3><p><code>name</code> - qname to expand.</p><h3>Returns</h3><p><code>boolean</code> - true on success.</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>Expands the qname's prefix into a namespace.</p><h3>Parameters</h3><p><code>name</code> - qname to expand.</p><h3>Returns</h3><p><code>boolean</code> - true on success.</p><hr><h2><a name="method_function">function</a></h2><p><code>public Function <strong>function</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
          ,
       int arity)</code></p><p></p><h3>Parameters</h3><p><code>name</code></p><p><code>arity</code></p><h3>Returns</h3><p><code>Function</code></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>Check for existance of function.</p><h3>Parameters</h3><p><code>name</code> - function name.</p><p><code>arity</code> - arity of function.</p><h3>Returns</h3><p><code>boolean</code> - true if function exists. False otherwise.</p><hr><h2><a name="method_get_cntxt_item_type">get_cntxt_item_type</a></h2><p><code>public java.lang.String <strong>get_cntxt_item_type</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_get_collections">get_collections</a></h2><p><code>public java.util.Map <strong>get_collections</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Map</code></p><hr><h2><a name="method_get_default_collection_type">get_default_collection_type</a></h2><p><code>public java.lang.String <strong>get_default_collection_type</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_get_documents">get_documents</a></h2><p><code>public java.util.Map <strong>get_documents</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Map</code></p><hr><h2><a name="method_get_var">get_var</a></h2><p><code>protected org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>get_var</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var)</code></p><p></p><h3>Parameters</h3><p><code>var</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></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>Creates an atomic from a specific type name initialized with a default
+      int arity)</code></p><p>Check for existance of function.</p><h3>Parameters</h3><p><code>name</code> - function name.</p><p><code>arity</code> - arity of function.</p><h3>Returns</h3><p><code>boolean</code> - true if function exists. False otherwise.</p><hr><h2><a name="method_get_cntxt_item_type">get_cntxt_item_type</a></h2><p><code>public java.lang.String <strong>get_cntxt_item_type</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_get_collections">get_collections</a></h2><p><code>public java.util.Map <strong>get_collections</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Map</code></p><hr><h2><a name="method_get_default_collection_type">get_default_collection_type</a></h2><p><code>public java.lang.String <strong>get_default_collection_type</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_get_documents">get_documents</a></h2><p><code>public java.util.Map <strong>get_documents</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Map</code></p><hr><h2><a name="method_get_function_libraries">get_function_libraries</a></h2><p><code>public java.util.Map <strong>get_function_libraries</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Map</code></p><hr><h2><a name="method_get_var">get_var</a></h2><p><code>protected java.lang.Object <strong>get_var</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var)</code></p><p></p><h3>Parameters</h3><p><code>var</code></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getTypeModel">getTypeModel</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel <strong>getTypeModel</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.api.typesystem.TypeModel</code></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>Creates an atomic from a specific type name initialized with a default
  value.</p><h3>Parameters</h3><p><code>name</code> - name of type to create</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType</code> - Atomic type of desired type.</p><hr><h2><a name="method_new_scope">new_scope</a></h2><p><code>public void <strong>new_scope</strong>()</code></p><p>Creates a new scope level.</p><hr><h2><a name="method_prefix_exists">prefix_exists</a></h2><p><code>public boolean <strong>prefix_exists</strong>(java.lang.String pref)</code></p><p>does prefix exist?</p><h3>Parameters</h3><p><code>pref</code> - prefix name.</p><h3>Returns</h3><p><code>boolean</code> - true if it does.</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 pref)</code></p><p>Resolves a prefix into a namespace URI.</p><h3>Parameters</h3><p><code>pref</code> - prefix name</p><h3>Returns</h3><p><code>java.lang.String</code> - uri prefix is resolved to or null.</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>Set the Base URI for the static context.</p><h3>Parameters</h3><p><code>baseuri</code></p><hr><h2><a name="method_set_cntxt_item_type">set_cntxt_item_type</a></h2><p><code>public void <strong>set_cntxt_item_type</strong>(java.lang.String cntxtItemType)</code></p><p></p><h3>Parameters</h3><p><code>cntxtItemType</code></p><hr><h2><a name="method_set_collections">set_collections</a></h2><p><code>public void <strong>set_collections</strong>(java.util.Map collections)</code></p><p></p><h3>Parameters</h3><p><code>collections</code></p><hr><h2><a name="method_set_default_collection_type">set_default_collection_type</a></h2><p><code>public void <strong>set_default_collection_type</strong>(java.lang.String defaultCollectionType)</code></p><p></p><h3>Parameters</h3><p><code>defaultCollectionType</code></p><hr><h2><a name="method_set_documents">set_documents</a></h2><p><code>public void <strong>set_documents</strong>(java.util.Map _documents)</code></p><p></p><h3>Parameters</h3><p><code>_documents</code></p><hr><h2><a name="method_set_variable">set_variable</a></h2><p><code>protected 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></p><h3>Parameters</h3><p><code>var</code></p><p><code>val</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 qname)</code></p><p>Checks whether the type is defined in the in scope schema definitions.</p><h3>Parameters</h3><p><code>qname</code> - type name.</p><h3>Returns</h3><p><code>boolean</code> - true if type is defined.</p><hr><h2><a name="method_type_defined">type_defined</a></h2><p><code>public boolean <strong>type_defined</strong>(java.lang.String ns
+      org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType val)</code></p><p></p><h3>Parameters</h3><p><code>var</code></p><p><code>val</code></p><hr><h2><a name="method_set_variable">set_variable</a></h2><p><code>protected void <strong>set_variable</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var
+         ,
+      org.eclipse.wst.xml.xpath2.processor.ResultSequence val)</code></p><p></p><h3>Parameters</h3><p><code>var</code></p><p><code>val</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 qname)</code></p><p>Checks whether the type is defined in the in scope schema definitions.</p><h3>Parameters</h3><p><code>qname</code> - type name.</p><h3>Returns</h3><p><code>boolean</code> - true if type is defined.</p><hr><h2><a name="method_type_defined">type_defined</a></h2><p><code>public boolean <strong>type_defined</strong>(java.lang.String ns
          ,
       java.lang.String type)</code></p><p>Checks whether the type is defined in the in scope schema definitions.</p><h3>Parameters</h3><p><code>ns</code> - namespace of type.</p><p><code>type</code> - name of type.</p><h3>Returns</h3><p><code>boolean</code> - true if type is defined.</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 var)</code></p><p>does variable exist in current scope ?</p><h3>Parameters</h3><p><code>var</code> - variable name.</p><h3>Returns</h3><p><code>boolean</code> - true if it does.</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>checks to see if variable is in scope</p><h3>Parameters</h3><p><code>var</code> - variable name.</p><h3>Returns</h3><p><code>boolean</code> - true if variable is in current or above scope.</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 xpath1 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.internal.DescendantAxis.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DescendantAxis.html
index ba112eb..9035c1b 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DescendantAxis.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DescendantAxis.html
@@ -1,13 +1,19 @@
 <html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
                Class DescendantAxis</h2><br><hr><pre>public class <strong>DescendantAxis</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.ChildAxis</pre>The descendant axis contains the descendants of the context 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_DescendantAxis">DescendantAxis</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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+extends org.eclipse.wst.xml.xpath2.processor.internal.ChildAxis</pre>The descendant axis contains the descendants of the context 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_DescendantAxis">DescendantAxis</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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code><br>
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer copyInto
+         ,
+      org.w3c.dom.Node limitNode)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               Using the context node retrieve the descendants of this node</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+               Using the context node retrieve the descendants of 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_name">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_DescendantAxis">DescendantAxis</a></h2><p><code>public <strong>DescendantAxis</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_iterate">iterate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+               </h2></td></tr></table><h2><a name="method_iterate">iterate</a></h2><p><code>public void <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code></p><p>Using the context node retrieve the descendants of this node</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>dc</code> - is the dynamic context.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - The descendants of the context node.</p><hr></body></html>
\ No newline at end of file
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer copyInto
+         ,
+      org.w3c.dom.Node limitNode)</code></p><p>Using the context node retrieve the descendants of this node</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>copyInto</code></p><p><code>limitNode</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public java.lang.String <strong>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.DescendantOrSelfAxis.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DescendantOrSelfAxis.html
index de299f4..6d0553e 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DescendantOrSelfAxis.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DescendantOrSelfAxis.html
@@ -1,16 +1,22 @@
 <html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
                Class DescendantOrSelfAxis</h2><br><hr><pre>public class <strong>DescendantOrSelfAxis</strong>
 extends org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis</pre>The descendant-or-self axis contains the context node and the descendants of
- the context 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_DescendantOrSelfAxis">DescendantOrSelfAxis</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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+ the context 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_DescendantOrSelfAxis">DescendantOrSelfAxis</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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code><br>
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer rs
+         ,
+      org.w3c.dom.Node limitNode)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                Retrieve the the descendants of the context node and the context node
- itself.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+ itself.</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_name">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_DescendantOrSelfAxis">DescendantOrSelfAxis</a></h2><p><code>public <strong>DescendantOrSelfAxis</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_iterate">iterate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+               </h2></td></tr></table><h2><a name="method_iterate">iterate</a></h2><p><code>public void <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code></p><p>Retrieve the the descendants of the context node and the context node
- itself.</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>dc</code> - is the dynamic context.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - The context node and its descendants.</p><hr></body></html>
\ No newline at end of file
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer rs
+         ,
+      org.w3c.dom.Node limitNode)</code></p><p>Retrieve the the descendants of the context node and the context node
+ itself.</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>rs</code></p><p><code>limitNode</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public java.lang.String <strong>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.DynamicContextAdapter.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DynamicContextAdapter.html
new file mode 100644
index 0000000..3697a95
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DynamicContextAdapter.html
@@ -0,0 +1,25 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
+               Class DynamicContextAdapter</h2><br><hr><pre>public class <strong>DynamicContextAdapter</strong>
+extends java.lang.Object</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_DynamicContextAdapter">DynamicContextAdapter</a></strong>(org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</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.api.CollationProvider</code></td><td width="" align="left"><code><a href="#method_getCollationProvider">getCollationProvider</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Map</code></td><td width="" align="left"><code><a href="#method_getCollections">getCollections</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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_getCurrentDateTime">getCurrentDateTime</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getDefaultCollection">getDefaultCollection</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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_getDocument">getDocument</a>(java.net.URI uri)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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_getLimitNode">getLimitNode</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public javax.xml.datatype.Duration</code></td><td width="" align="left"><code><a href="#method_getTimezoneOffset">getTimezoneOffset</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_getVariable">getVariable</a>(javax.xml.namespace.QName name)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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_resolveUri">resolveUri</a>(java.lang.String uri)</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_DynamicContextAdapter">DynamicContextAdapter</a></h2><p><code>public <strong>DynamicContextAdapter</strong>(org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</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_getCollationProvider">getCollationProvider</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.CollationProvider <strong>getCollationProvider</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.CollationProvider</code></p><hr><h2><a name="method_getCollections">getCollections</a></h2><p><code>public java.util.Map <strong>getCollections</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Map</code></p><hr><h2><a name="method_getCurrentDateTime">getCurrentDateTime</a></h2><p><code>public java.util.GregorianCalendar <strong>getCurrentDateTime</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.GregorianCalendar</code></p><hr><h2><a name="method_getDefaultCollection">getDefaultCollection</a></h2><p><code>public java.util.List <strong>getDefaultCollection</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_getDocument">getDocument</a></h2><p><code>public org.w3c.dom.Document <strong>getDocument</strong>(java.net.URI uri)</code></p><p></p><h3>Parameters</h3><p><code>uri</code></p><h3>Returns</h3><p><code>org.w3c.dom.Document</code></p><hr><h2><a name="method_getLimitNode">getLimitNode</a></h2><p><code>public org.w3c.dom.Node <strong>getLimitNode</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.w3c.dom.Node</code></p><hr><h2><a name="method_getTimezoneOffset">getTimezoneOffset</a></h2><p><code>public javax.xml.datatype.Duration <strong>getTimezoneOffset</strong>()</code></p><p></p><h3>Returns</h3><p><code>javax.xml.datatype.Duration</code></p><hr><h2><a name="method_getVariable">getVariable</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>getVariable</strong>(javax.xml.namespace.QName name)</code></p><p></p><h3>Parameters</h3><p><code>name</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.ResultSequence</code></p><hr><h2><a name="method_resolveUri">resolveUri</a></h2><p><code>public java.net.URI <strong>resolveUri</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></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.Focus.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.Focus.html
index 6b3fc6d..30e9f0b 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.Focus.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.Focus.html
@@ -1,6 +1,6 @@
 <html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
                Class Focus</h2><br><hr><pre>public class <strong>Focus</strong>
-extends java.lang.Object</pre>set the focus from a 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_Focus">Focus</a></strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</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_advance_cp">advance_cp</a>()</code><br>
+extends java.lang.Object</pre>set the focus from a 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_Focus">Focus</a></strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs)</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_advance_cp">advance_cp</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                Checks to see if possible to advance rs.</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;
@@ -12,6 +12,6 @@
                &nbsp;&nbsp;&nbsp;&nbsp;
                sets the position.</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_Focus">Focus</a></h2><p><code>public <strong>Focus</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code></p><p>Sets the _rs to rs and context position to 1.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+               </h2></td></tr></table><h2><a name="con_Focus">Focus</a></h2><p><code>public <strong>Focus</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs)</code></p><p>Sets the _rs to rs and context position to 1.</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_advance_cp">advance_cp</a></h2><p><code>public boolean <strong>advance_cp</strong>()</code></p><p>Checks to see if possible to advance rs.</p><h3>Returns</h3><p><code>boolean</code> - the boolean.</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>Retrieves previous item from current context position.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - the item from _rs, or null if there is no context item.</p><hr><h2><a name="method_last">last</a></h2><p><code>public int <strong>last</strong>()</code></p><p>returns the position of the last item in rs.</p><h3>Returns</h3><p><code>int</code> - the size of rs.</p><hr><h2><a name="method_position">position</a></h2><p><code>public int <strong>position</strong>()</code></p><p>returns an integer of the current position.</p><h3>Returns</h3><p><code>int</code> - the current position of rs.</p><hr><h2><a name="method_set_position">set_position</a></h2><p><code>public void <strong>set_position</strong>(int p)</code></p><p>sets the position.</p><h3>Parameters</h3><p><code>p</code> - is the position that is set.</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.FollowingAxis.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.FollowingAxis.html
index 7e96d61..1eb781b 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.FollowingAxis.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.FollowingAxis.html
@@ -2,14 +2,20 @@
                Class FollowingAxis</h2><br><hr><pre>public class <strong>FollowingAxis</strong>
 extends org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis</pre>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.<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_FollowingAxis">FollowingAxis</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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+ document order.<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_FollowingAxis">FollowingAxis</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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code><br>
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer result
+         ,
+      org.w3c.dom.Node limitNode)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               Return the result of FollowingAxis expression</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+               Return the result of FollowingAxis expression</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_name">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_FollowingAxis">FollowingAxis</a></h2><p><code>public <strong>FollowingAxis</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_iterate">iterate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+               </h2></td></tr></table><h2><a name="method_iterate">iterate</a></h2><p><code>public void <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code></p><p>Return the result of FollowingAxis expression</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>dc</code> - is the dynamic context.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - The result of FollowingAxis.</p><hr></body></html>
\ No newline at end of file
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer result
+         ,
+      org.w3c.dom.Node limitNode)</code></p><p>Return the result of FollowingAxis expression</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>result</code></p><p><code>limitNode</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public java.lang.String <strong>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.FollowingSiblingAxis.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.FollowingSiblingAxis.html
index 4d65894..cf53019 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.FollowingSiblingAxis.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.FollowingSiblingAxis.html
@@ -3,14 +3,20 @@
 extends org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis</pre>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.<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_FollowingSiblingAxis">FollowingSiblingAxis</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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+ the following-sibling axis is empty.<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_FollowingSiblingAxis">FollowingSiblingAxis</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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code><br>
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer copyInto
+         ,
+      org.w3c.dom.Node limitNode)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               Return the result of FollowingSiblingAxis expression</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+               Return the result of FollowingSiblingAxis expression</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_name">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_FollowingSiblingAxis">FollowingSiblingAxis</a></h2><p><code>public <strong>FollowingSiblingAxis</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_iterate">iterate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+               </h2></td></tr></table><h2><a name="method_iterate">iterate</a></h2><p><code>public void <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code></p><p>Return the result of FollowingSiblingAxis expression</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>dc</code> - is the dynamic context.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - The result of FollowingSiblingAxis.</p><hr></body></html>
\ No newline at end of file
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer copyInto
+         ,
+      org.w3c.dom.Node limitNode)</code></p><p>Return the result of FollowingSiblingAxis expression</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>copyInto</code></p><p><code>limitNode</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public java.lang.String <strong>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.ParentAxis.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ParentAxis.html
index 4c92d34..35db978 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ParentAxis.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ParentAxis.html
@@ -2,14 +2,22 @@
                Class ParentAxis</h2><br><hr><pre>public class <strong>ParentAxis</strong>
 extends org.eclipse.wst.xml.xpath2.processor.internal.ReverseAxis</pre>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<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_ParentAxis">ParentAxis</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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
-         ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code><br>
+ context node has no parent<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_ParentAxis">ParentAxis</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.Node</code></td><td width="" align="left"><code><a href="#method_findParent">findParent</a>(org.w3c.dom.Node n)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               returns parent accessors of the context node</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+         ,
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer copyInto
+         ,
+      org.w3c.dom.Node limitNode)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               returns parent accessors of the context 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_name">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_ParentAxis">ParentAxis</a></h2><p><code>public <strong>ParentAxis</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_iterate">iterate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+               </h2></td></tr></table><h2><a name="method_findParent">findParent</a></h2><p><code>public org.w3c.dom.Node <strong>findParent</strong>(org.w3c.dom.Node n)</code></p><p></p><h3>Parameters</h3><p><code>n</code></p><h3>Returns</h3><p><code>org.w3c.dom.Node</code></p><hr><h2><a name="method_iterate">iterate</a></h2><p><code>public void <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code></p><p>returns parent accessors of the context node</p><h3>Parameters</h3><p><code>node</code> - is the node type.</p><p><code>dc</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - the accessors.</p><hr></body></html>
\ No newline at end of file
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer copyInto
+         ,
+      org.w3c.dom.Node limitNode)</code></p><p>returns parent accessors of the context node</p><h3>Parameters</h3><p><code>node</code> - is the node type.</p><p><code>copyInto</code></p><p><code>limitNode</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public java.lang.String <strong>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.PrecedingAxis.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.PrecedingAxis.html
index 5fbeeab..f830f6e 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.PrecedingAxis.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.PrecedingAxis.html
@@ -1,14 +1,20 @@
 <html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
                Class PrecedingAxis</h2><br><hr><pre>public class <strong>PrecedingAxis</strong>
 extends org.eclipse.wst.xml.xpath2.processor.internal.ReverseAxis</pre>the preceding axis contains all nodes that are descendants of the root of the
- tree in which the context node is found<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_PrecedingAxis">PrecedingAxis</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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+ tree in which the context node is found<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_PrecedingAxis">PrecedingAxis</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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code><br>
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer result
+         ,
+      org.w3c.dom.Node limitNode)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               returns preceding nodes of the context node</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+               returns preceding nodes of the context 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_name">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_PrecedingAxis">PrecedingAxis</a></h2><p><code>public <strong>PrecedingAxis</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_iterate">iterate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+               </h2></td></tr></table><h2><a name="method_iterate">iterate</a></h2><p><code>public void <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code></p><p>returns preceding nodes of the context node</p><h3>Parameters</h3><p><code>node</code> - is the node type.</p><p><code>dc</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - the descendants of the context node</p><hr></body></html>
\ No newline at end of file
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer result
+         ,
+      org.w3c.dom.Node limitNode)</code></p><p>returns preceding nodes of the context node</p><h3>Parameters</h3><p><code>node</code> - is the node type.</p><p><code>result</code></p><p><code>limitNode</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public java.lang.String <strong>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.PrecedingSiblingAxis.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.PrecedingSiblingAxis.html
index d686549..60203f3 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.PrecedingSiblingAxis.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.PrecedingSiblingAxis.html
@@ -1,14 +1,20 @@
 <html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
                Class PrecedingSiblingAxis</h2><br><hr><pre>public class <strong>PrecedingSiblingAxis</strong>
 extends org.eclipse.wst.xml.xpath2.processor.internal.ReverseAxis</pre>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<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_PrecedingSiblingAxis">PrecedingSiblingAxis</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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+ tree in which the context node is found including the context node itself<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_PrecedingSiblingAxis">PrecedingSiblingAxis</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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code><br>
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer copyInto
+         ,
+      org.w3c.dom.Node limitNode)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               returns preceding nodes of the context node</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+               returns preceding nodes of the context 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_name">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_PrecedingSiblingAxis">PrecedingSiblingAxis</a></h2><p><code>public <strong>PrecedingSiblingAxis</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_iterate">iterate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+               </h2></td></tr></table><h2><a name="method_iterate">iterate</a></h2><p><code>public void <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code></p><p>returns preceding nodes of the context node</p><h3>Parameters</h3><p><code>node</code> - is the node type.</p><p><code>dc</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - the descendants and the context node</p><hr></body></html>
\ No newline at end of file
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer copyInto
+         ,
+      org.w3c.dom.Node limitNode)</code></p><p>returns preceding nodes of the context node</p><h3>Parameters</h3><p><code>node</code> - is the node type.</p><p><code>copyInto</code></p><p><code>limitNode</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public java.lang.String <strong>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.RangeResultSequence.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.RangeResultSequence.html
index d6de6b0..75ef295 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.RangeResultSequence.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.RangeResultSequence.html
@@ -15,13 +15,17 @@
                &nbsp;&nbsp;&nbsp;&nbsp;
                asks if the range 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;
+               </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_firstValue">firstValue</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.AnyType</code></td><td width="" align="left"><code><a href="#method_get">get</a>(int i)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                </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;
                interate through range.</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</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>
+               release</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></td><td width="" align="left"><code><a href="#method_sequenceType">sequenceType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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;
                </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
                   Constructor Detail
@@ -29,4 +33,4 @@
          ,
       int end)</code></p><p>set the start and end of the range result sequence</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>item is an integer to add to the range.</p><h3>Parameters</h3><p><code>item</code> - is an integer.</p><hr><h2><a name="method_clear">clear</a></h2><p><code>public void <strong>clear</strong>()</code></p><p>clear range</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>remove the tail from the range given.</p><h3>Parameters</h3><p><code>rs</code> - is the range</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 new result sequence</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - null</p><hr><h2><a name="method_empty">empty</a></h2><p><code>public boolean <strong>empty</strong>()</code></p><p>asks if the range 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></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - first item in range</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></p><h3>Parameters</h3><p><code>i</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - item from range</p><hr><h2><a name="method_iterator">iterator</a></h2><p><code>public java.util.ListIterator <strong>iterator</strong>()</code></p><p>interate through range.</p><h3>Returns</h3><p><code>java.util.ListIterator</code> - tail</p><hr><h2><a name="method_release">release</a></h2><p><code>public void <strong>release</strong>()</code></p><p>release</p><hr><h2><a name="method_size">size</a></h2><p><code>public int <strong>size</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code> - size</p><hr></body></html>
\ No newline at end of file
+               </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>item is an integer to add to the range.</p><h3>Parameters</h3><p><code>item</code> - is an integer.</p><hr><h2><a name="method_clear">clear</a></h2><p><code>public void <strong>clear</strong>()</code></p><p>clear range</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>remove the tail from the range given.</p><h3>Parameters</h3><p><code>rs</code> - is the range</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 new result sequence</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - null</p><hr><h2><a name="method_empty">empty</a></h2><p><code>public boolean <strong>empty</strong>()</code></p><p>asks if the range 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></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - first item in range</p><hr><h2><a name="method_firstValue">firstValue</a></h2><p><code>public java.lang.Object <strong>firstValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code> - first item in range</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></p><h3>Parameters</h3><p><code>i</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - item from range</p><hr><h2><a name="method_iterator">iterator</a></h2><p><code>public java.util.ListIterator <strong>iterator</strong>()</code></p><p>interate through range.</p><h3>Returns</h3><p><code>java.util.ListIterator</code> - tail</p><hr><h2><a name="method_release">release</a></h2><p><code>public void <strong>release</strong>()</code></p><p>release</p><hr><h2><a name="method_sequenceType">sequenceType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType <strong>sequenceType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></p><hr><h2><a name="method_size">size</a></h2><p><code>public int <strong>size</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code> - size</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.SelfAxis.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.SelfAxis.html
index b20fca4..48383c1 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.SelfAxis.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.SelfAxis.html
@@ -1,13 +1,19 @@
 <html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
                Class SelfAxis</h2><br><hr><pre>public class <strong>SelfAxis</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis</pre>Create a result sequence that contains the context 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_SelfAxis">SelfAxis</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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+extends org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis</pre>Create a result sequence that contains the context 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_SelfAxis">SelfAxis</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_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code><br>
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer copyInto
+         ,
+      org.w3c.dom.Node limitNode)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               create new rs and add the context node to it</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+               create new rs and add the context node to 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_name">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_SelfAxis">SelfAxis</a></h2><p><code>public <strong>SelfAxis</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_iterate">iterate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
+               </h2></td></tr></table><h2><a name="method_iterate">iterate</a></h2><p><code>public void <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code></p><p>create new rs and add the context node to it</p><h3>Parameters</h3><p><code>node</code> - is the node type</p><p><code>dc</code> - is the dynamic context</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - rs containing node</p><hr></body></html>
\ No newline at end of file
+      org.eclipse.wst.xml.xpath2.api.ResultBuffer copyInto
+         ,
+      org.w3c.dom.Node limitNode)</code></p><p>create new rs and add the context node to it</p><h3>Parameters</h3><p><code>node</code> - is the node type</p><p><code>copyInto</code></p><p><code>limitNode</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public java.lang.String <strong>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.SeqType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.SeqType.html
index 410ff55..5946d14 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.SeqType.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.SeqType.html
@@ -18,9 +18,11 @@
          ,
       int occ)</code></td></tr><tr><td><code><strong><a href="#con_SeqType">SeqType</a></strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.SequenceType st
          ,
-      org.eclipse.wst.xml.xpath2.processor.StaticContext sc
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc
          ,
-      org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code></td></tr><tr><td><code><strong><a href="#con_SeqType">SeqType</a></strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType t)</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_match">match</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence args)</code><br>
+      org.eclipse.wst.xml.xpath2.api.ResultSequence rs)</code></td></tr><tr><td><code><strong><a href="#con_SeqType">SeqType</a></strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType t)</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 int</code></td><td width="" align="left"><code><a href="#method_mapSequenceTypeOccurrence">mapSequenceTypeOccurrence</a>(int occurrence)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_match">match</a>(org.eclipse.wst.xml.xpath2.api.ResultSequence args)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                matches args</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_occurence">occurence</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -36,8 +38,8 @@
          ,
       int occ)</code></p><p></p><hr><h2><a name="con_SeqType">SeqType</a></h2><p><code>public <strong>SeqType</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.SequenceType st
          ,
-      org.eclipse.wst.xml.xpath2.processor.StaticContext sc
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc
          ,
-      org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code></p><p></p><hr><h2><a name="con_SeqType">SeqType</a></h2><p><code>public <strong>SeqType</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType t)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+      org.eclipse.wst.xml.xpath2.api.ResultSequence rs)</code></p><p></p><hr><h2><a name="con_SeqType">SeqType</a></h2><p><code>public <strong>SeqType</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType t)</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_match">match</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>match</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence args)</code></p><p>matches args</p><h3>Parameters</h3><p><code>args</code> - is a result sequence</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - a result sequence</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_occurence">occurence</a></h2><p><code>public int <strong>occurence</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code> - an integer.</p><hr><h2><a name="method_type">type</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>type</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - a type.</p><hr></body></html>
\ No newline at end of file
+               </h2></td></tr></table><h2><a name="method_mapSequenceTypeOccurrence">mapSequenceTypeOccurrence</a></h2><p><code>public int <strong>mapSequenceTypeOccurrence</strong>(int occurrence)</code></p><p></p><h3>Parameters</h3><p><code>occurrence</code></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_match">match</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>match</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence args)</code></p><p>matches args</p><h3>Parameters</h3><p><code>args</code> - is a result sequence</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.ResultSequence</code> - a result sequence</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_occurence">occurence</a></h2><p><code>public int <strong>occurence</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code> - an integer.</p><hr><h2><a name="method_type">type</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>type</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - a type.</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.StaticContextAdapter.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.StaticContextAdapter.html
new file mode 100644
index 0000000..300e5f4
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.StaticContextAdapter.html
@@ -0,0 +1,39 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
+               Class StaticContextAdapter</h2><br><hr><pre>public class <strong>StaticContextAdapter</strong>
+extends java.lang.Object</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_StaticContextAdapter">StaticContextAdapter</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 java.net.URI</code></td><td width="" align="left"><code><a href="#method_getBaseUri">getBaseUri</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.CollationProvider</code></td><td width="" align="left"><code><a href="#method_getCollationProvider">getCollationProvider</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getCollectionType">getCollectionType</a>(java.lang.String collectionName)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getDefaultCollectionType">getDefaultCollectionType</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_getDefaultFunctionNamespace">getDefaultFunctionNamespace</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_getDefaultNamespace">getDefaultNamespace</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></td><td width="" align="left"><code><a href="#method_getDocumentType">getDocumentType</a>(java.net.URI documentUri)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Map</code></td><td width="" align="left"><code><a href="#method_getFunctionLibraries">getFunctionLibraries</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getInitialContextType">getInitialContextType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.StaticVariableResolver</code></td><td width="" align="left"><code><a href="#method_getInScopeVariables">getInScopeVariables</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public javax.xml.namespace.NamespaceContext</code></td><td width="" align="left"><code><a href="#method_getNamespaceContext">getNamespaceContext</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel</code></td><td width="" align="left"><code><a href="#method_getTypeModel">getTypeModel</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_isXPath1Compatible">isXPath1Compatible</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.Function</code></td><td width="" align="left"><code><a href="#method_resolveFunction">resolveFunction</a>(javax.xml.namespace.QName name
+         ,
+      int arity)</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_StaticContextAdapter">StaticContextAdapter</a></h2><p><code>public <strong>StaticContextAdapter</strong>(org.eclipse.wst.xml.xpath2.processor.StaticContext sc)</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_getBaseUri">getBaseUri</a></h2><p><code>public java.net.URI <strong>getBaseUri</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.net.URI</code></p><hr><h2><a name="method_getCollationProvider">getCollationProvider</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.CollationProvider <strong>getCollationProvider</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.CollationProvider</code></p><hr><h2><a name="method_getCollectionType">getCollectionType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getCollectionType</strong>(java.lang.String collectionName)</code></p><p></p><h3>Parameters</h3><p><code>collectionName</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><h2><a name="method_getDefaultCollectionType">getDefaultCollectionType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getDefaultCollectionType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><h2><a name="method_getDefaultFunctionNamespace">getDefaultFunctionNamespace</a></h2><p><code>public java.lang.String <strong>getDefaultFunctionNamespace</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getDefaultNamespace">getDefaultNamespace</a></h2><p><code>public java.lang.String <strong>getDefaultNamespace</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getDocumentType">getDocumentType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType <strong>getDocumentType</strong>(java.net.URI documentUri)</code></p><p></p><h3>Parameters</h3><p><code>documentUri</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></p><hr><h2><a name="method_getFunctionLibraries">getFunctionLibraries</a></h2><p><code>public java.util.Map <strong>getFunctionLibraries</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Map</code></p><hr><h2><a name="method_getInitialContextType">getInitialContextType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getInitialContextType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><h2><a name="method_getInScopeVariables">getInScopeVariables</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.StaticVariableResolver <strong>getInScopeVariables</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.StaticVariableResolver</code></p><hr><h2><a name="method_getNamespaceContext">getNamespaceContext</a></h2><p><code>public javax.xml.namespace.NamespaceContext <strong>getNamespaceContext</strong>()</code></p><p></p><h3>Returns</h3><p><code>javax.xml.namespace.NamespaceContext</code></p><hr><h2><a name="method_getTypeModel">getTypeModel</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel <strong>getTypeModel</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel</code></p><hr><h2><a name="method_isXPath1Compatible">isXPath1Compatible</a></h2><p><code>public boolean <strong>isXPath1Compatible</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_resolveFunction">resolveFunction</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.Function <strong>resolveFunction</strong>(javax.xml.namespace.QName name
+         ,
+      int arity)</code></p><p></p><h3>Parameters</h3><p><code>name</code></p><p><code>arity</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.Function</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.XPathCupRestricted.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.XPathCupRestricted.html
new file mode 100644
index 0000000..cd91de2
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.XPathCupRestricted.html
@@ -0,0 +1,21 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
+               Class XPathCupRestricted</h2><br><hr><pre>public class <strong>XPathCupRestricted</strong>
+extends org.eclipse.wst.xml.xpath2.processor.internal.XPathCup</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_XPathCupRestricted">XPathCupRestricted</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XPathCupRestricted">XPathCupRestricted</a></strong>(java_cup.runtime.Scanner s)</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_cup.runtime.Symbol</code></td><td width="" align="left"><code><a href="#method_do_action">do_action</a>(int act_num
+         ,
+      java_cup.runtime.lr_parser parser
+         ,
+      java.util.Stack stack
+         ,
+      int top)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Invoke a user supplied parse action.</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_XPathCupRestricted">XPathCupRestricted</a></h2><p><code>public <strong>XPathCupRestricted</strong>()</code></p><p>Default constructor.</p><hr><h2><a name="con_XPathCupRestricted">XPathCupRestricted</a></h2><p><code>public <strong>XPathCupRestricted</strong>(java_cup.runtime.Scanner s)</code></p><p>Constructor which sets the default scanner.</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_do_action">do_action</a></h2><p><code>public java_cup.runtime.Symbol <strong>do_action</strong>(int act_num
+         ,
+      java_cup.runtime.lr_parser parser
+         ,
+      java.util.Stack stack
+         ,
+      int top)</code></p><p>Invoke a user supplied parse action.</p><h3>Parameters</h3><p><code>act_num</code></p><p><code>parser</code></p><p><code>stack</code></p><p><code>top</code></p><h3>Returns</h3><p><code>java_cup.runtime.Symbol</code></p><h3>Throws:</h3><p><code>java.lang.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.internal.ast.AnyKindTest.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.AnyKindTest.html
index ec3e1f0..4423d13 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.AnyKindTest.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.AnyKindTest.html
@@ -2,7 +2,9 @@
                Class AnyKindTest</h2><br><hr><pre>public class <strong>AnyKindTest</strong>
 extends org.eclipse.wst.xml.xpath2.processor.internal.ast.KindTest</pre>Class to test a type of any kind. This matches any node in the 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_AnyKindTest">AnyKindTest</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_accept">accept</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor v)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               Support for Visitor interface.</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_createTestType">createTestType</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code><br>
+               Support for Visitor interface.</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_createTestType">createTestType</a>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Class</code></td><td width="" align="left"><code><a href="#method_getXDMClassType">getXDMClassType</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -14,4 +16,6 @@
                   Constructor Detail
                </h2></td></tr></table><h2><a name="con_AnyKindTest">AnyKindTest</a></h2><p><code>public <strong>AnyKindTest</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_accept">accept</a></h2><p><code>public java.lang.Object <strong>accept</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_createTestType">createTestType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>createTestType</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><hr><h2><a name="method_getXDMClassType">getXDMClassType</a></h2><p><code>public java.lang.Class <strong>getXDMClassType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_isWild">isWild</a></h2><p><code>public boolean <strong>isWild</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>name</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code></p><hr></body></html>
\ No newline at end of file
+               </h2></td></tr></table><h2><a name="method_accept">accept</a></h2><p><code>public java.lang.Object <strong>accept</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_createTestType">createTestType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>createTestType</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc)</code></p><p></p><h3>Parameters</h3><p><code>rs</code></p><p><code>sc</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></p><hr><h2><a name="method_getXDMClassType">getXDMClassType</a></h2><p><code>public java.lang.Class <strong>getXDMClassType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_isWild">isWild</a></h2><p><code>public boolean <strong>isWild</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>name</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</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.ast.AttributeTest.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.AttributeTest.html
index 888270d..4a6def8 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.AttributeTest.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.AttributeTest.html
@@ -8,7 +8,9 @@
          ,
       boolean wild)</code></td></tr><tr><td><code><strong><a href="#con_AttributeTest">AttributeTest</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_accept">accept</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor v)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               Support for Visitor interface.</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_createTestType">createTestType</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code><br>
+               Support for Visitor interface.</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_createTestType">createTestType</a>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Class</code></td><td width="" align="left"><code><a href="#method_getXDMClassType">getXDMClassType</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -26,4 +28,6 @@
       boolean wild)</code></p><p>Constructor for AttributeTest. This one takes in 2 inputs, Name and
  wildcard test(true/false).</p><hr><h2><a name="con_AttributeTest">AttributeTest</a></h2><p><code>public <strong>AttributeTest</strong>()</code></p><p>Default Constructor for AttributeTest.</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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_createTestType">createTestType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>createTestType</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><hr><h2><a name="method_getXDMClassType">getXDMClassType</a></h2><p><code>public java.lang.Class <strong>getXDMClassType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_isWild">isWild</a></h2><p><code>public boolean <strong>isWild</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr></body></html>
\ No newline at end of file
+               </h2></td></tr></table><h2><a name="method_accept">accept</a></h2><p><code>public java.lang.Object <strong>accept</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_createTestType">createTestType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>createTestType</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc)</code></p><p></p><h3>Parameters</h3><p><code>rs</code></p><p><code>sc</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></p><hr><h2><a name="method_getXDMClassType">getXDMClassType</a></h2><p><code>public java.lang.Class <strong>getXDMClassType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_isWild">isWild</a></h2><p><code>public boolean <strong>isWild</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</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.ast.CastExpr.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.CastExpr.html
index 32e13a3..3d75317 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.CastExpr.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.CastExpr.html
@@ -10,10 +10,14 @@
          ,
       org.eclipse.wst.xml.xpath2.processor.internal.ast.SingleType r)</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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor v)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               Support for Visitor interface.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+               Support for Visitor interface.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.Function</code></td><td width="" align="left"><code><a href="#method_function">function</a>()</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_function">set_function</a>(org.eclipse.wst.xml.xpath2.api.Function _function)</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_CastExpr">CastExpr</a></h2><p><code>public <strong>CastExpr</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr l
          ,
       org.eclipse.wst.xml.xpath2.processor.internal.ast.SingleType r)</code></p><p>Constructor for CastExpr.</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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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></body></html>
\ No newline at end of file
+               </h2></td></tr></table><h2><a name="method_accept">accept</a></h2><p><code>public java.lang.Object <strong>accept</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_function">function</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.Function <strong>function</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.Function</code></p><hr><h2><a name="method_set_function">set_function</a></h2><p><code>public void <strong>set_function</strong>(org.eclipse.wst.xml.xpath2.api.Function _function)</code></p><p></p><h3>Parameters</h3><p><code>_function</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.ast.CommentTest.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.CommentTest.html
index 0b2502c..1392dc2 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.CommentTest.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.CommentTest.html
@@ -2,7 +2,9 @@
                Class CommentTest</h2><br><hr><pre>public class <strong>CommentTest</strong>
 extends org.eclipse.wst.xml.xpath2.processor.internal.ast.KindTest</pre>Class for Comment testing.<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_CommentTest">CommentTest</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_accept">accept</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor v)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               Support for Visitor interface.</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_createTestType">createTestType</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code><br>
+               Support for Visitor interface.</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_createTestType">createTestType</a>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Class</code></td><td width="" align="left"><code><a href="#method_getXDMClassType">getXDMClassType</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -14,4 +16,6 @@
                   Constructor Detail
                </h2></td></tr></table><h2><a name="con_CommentTest">CommentTest</a></h2><p><code>public <strong>CommentTest</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_accept">accept</a></h2><p><code>public java.lang.Object <strong>accept</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_createTestType">createTestType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>createTestType</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><hr><h2><a name="method_getXDMClassType">getXDMClassType</a></h2><p><code>public java.lang.Class <strong>getXDMClassType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_isWild">isWild</a></h2><p><code>public boolean <strong>isWild</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>name</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code></p><hr></body></html>
\ No newline at end of file
+               </h2></td></tr></table><h2><a name="method_accept">accept</a></h2><p><code>public java.lang.Object <strong>accept</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_createTestType">createTestType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>createTestType</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc)</code></p><p></p><h3>Parameters</h3><p><code>rs</code></p><p><code>sc</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></p><hr><h2><a name="method_getXDMClassType">getXDMClassType</a></h2><p><code>public java.lang.Class <strong>getXDMClassType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_isWild">isWild</a></h2><p><code>public boolean <strong>isWild</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>name</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</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.ast.DocumentTest.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.DocumentTest.html
index 40101f9..ef1eca9 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.DocumentTest.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.DocumentTest.html
@@ -10,7 +10,9 @@
          ,
       java.lang.Object arg)</code></td></tr><tr><td><code><strong><a href="#con_DocumentTest">DocumentTest</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_accept">accept</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor v)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               Support for Visitor interface.</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_createTestType">createTestType</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code><br>
+               Support for Visitor interface.</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_createTestType">createTestType</a>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc)</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.ast.AttrElemTest</code></td><td width="" align="left"><code><a href="#method_elem_test">elem_test</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -32,4 +34,6 @@
          ,
       java.lang.Object arg)</code></p><p>Constructor for DocumentTest.</p><hr><h2><a name="con_DocumentTest">DocumentTest</a></h2><p><code>public <strong>DocumentTest</strong>()</code></p><p>Default Constructor for DocumentTest.</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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_createTestType">createTestType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>createTestType</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><hr><h2><a name="method_elem_test">elem_test</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.ast.AttrElemTest <strong>elem_test</strong>()</code></p><p>Element test.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.ast.AttrElemTest</code> - Element test.</p><hr><h2><a name="method_getXDMClassType">getXDMClassType</a></h2><p><code>public java.lang.Class <strong>getXDMClassType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_isWild">isWild</a></h2><p><code>public boolean <strong>isWild</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>name</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code></p><hr><h2><a name="method_schema_elem_test">schema_elem_test</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaElemTest <strong>schema_elem_test</strong>()</code></p><p>Schema element test.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaElemTest</code> - Schema element test.</p><hr><h2><a name="method_type">type</a></h2><p><code>public int <strong>type</strong>()</code></p><p>Get test type.</p><h3>Returns</h3><p><code>int</code> - Type of test.</p><hr></body></html>
\ No newline at end of file
+               </h2></td></tr></table><h2><a name="method_accept">accept</a></h2><p><code>public java.lang.Object <strong>accept</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_createTestType">createTestType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>createTestType</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc)</code></p><p></p><h3>Parameters</h3><p><code>rs</code></p><p><code>sc</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></p><hr><h2><a name="method_elem_test">elem_test</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.ast.AttrElemTest <strong>elem_test</strong>()</code></p><p>Element test.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.ast.AttrElemTest</code> - Element test.</p><hr><h2><a name="method_getXDMClassType">getXDMClassType</a></h2><p><code>public java.lang.Class <strong>getXDMClassType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_isWild">isWild</a></h2><p><code>public boolean <strong>isWild</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>name</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code></p><hr><h2><a name="method_schema_elem_test">schema_elem_test</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaElemTest <strong>schema_elem_test</strong>()</code></p><p>Schema element test.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaElemTest</code> - Schema element test.</p><hr><h2><a name="method_type">type</a></h2><p><code>public int <strong>type</strong>()</code></p><p>Get test type.</p><h3>Returns</h3><p><code>int</code> - Type of test.</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.ast.ElementTest.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.ElementTest.html
index 7a45e16..8ce24b9 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.ElementTest.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.ElementTest.html
@@ -14,7 +14,9 @@
          ,
       boolean wild)</code></td></tr><tr><td><code><strong><a href="#con_ElementTest">ElementTest</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_accept">accept</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor v)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               Support for Visitor interface.</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_createTestType">createTestType</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code><br>
+               Support for Visitor interface.</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_createTestType">createTestType</a>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Class</code></td><td width="" align="left"><code><a href="#method_getXDMClassType">getXDMClassType</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -41,4 +43,6 @@
       boolean wild)</code></p><p>Constructor for ElementTest. This takes in 2 inputs, Name, wildcard
  test(true/false).</p><hr><h2><a name="con_ElementTest">ElementTest</a></h2><p><code>public <strong>ElementTest</strong>()</code></p><p>Default Constructor for ElementTest.</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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_createTestType">createTestType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>createTestType</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><hr><h2><a name="method_getXDMClassType">getXDMClassType</a></h2><p><code>public java.lang.Class <strong>getXDMClassType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_isWild">isWild</a></h2><p><code>public boolean <strong>isWild</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_qmark">qmark</a></h2><p><code>public boolean <strong>qmark</strong>()</code></p><p>Set nilled property.</p><h3>Returns</h3><p><code>boolean</code> - Result of operation.</p><hr></body></html>
\ No newline at end of file
+               </h2></td></tr></table><h2><a name="method_accept">accept</a></h2><p><code>public java.lang.Object <strong>accept</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_createTestType">createTestType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>createTestType</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc)</code></p><p></p><h3>Parameters</h3><p><code>rs</code></p><p><code>sc</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></p><hr><h2><a name="method_getXDMClassType">getXDMClassType</a></h2><p><code>public java.lang.Class <strong>getXDMClassType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_isWild">isWild</a></h2><p><code>public boolean <strong>isWild</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_qmark">qmark</a></h2><p><code>public boolean <strong>qmark</strong>()</code></p><p>Set nilled property.</p><h3>Returns</h3><p><code>boolean</code> - Result of 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.internal.ast.FunctionCall.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.FunctionCall.html
index 04ae25c..6fd2658 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.FunctionCall.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.FunctionCall.html
@@ -6,14 +6,18 @@
                &nbsp;&nbsp;&nbsp;&nbsp;
                Support for Visitor interface.</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_arity">arity</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               Support for Arity 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>
+               Support for Arity interface.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.Function</code></td><td width="" align="left"><code><a href="#method_function">function</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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><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_name">name</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               Support for QName interface.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+               Support for QName interface.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_function">set_function</a>(org.eclipse.wst.xml.xpath2.api.Function _function)</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_FunctionCall">FunctionCall</a></h2><p><code>public <strong>FunctionCall</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
          ,
       java.util.Collection args)</code></p><p>Constructor for FunctionCall.</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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_arity">arity</a></h2><p><code>public int <strong>arity</strong>()</code></p><p>Support for Arity interface.</p><h3>Returns</h3><p><code>int</code> - Result of Arity 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><h2><a name="method_name">name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>name</strong>()</code></p><p>Support for QName interface.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code> - Result of QName operation.</p><hr></body></html>
\ No newline at end of file
+               </h2></td></tr></table><h2><a name="method_accept">accept</a></h2><p><code>public java.lang.Object <strong>accept</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_arity">arity</a></h2><p><code>public int <strong>arity</strong>()</code></p><p>Support for Arity interface.</p><h3>Returns</h3><p><code>int</code> - Result of Arity operation.</p><hr><h2><a name="method_function">function</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.Function <strong>function</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.Function</code></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><h2><a name="method_name">name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>name</strong>()</code></p><p>Support for QName interface.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code> - Result of QName operation.</p><hr><h2><a name="method_set_function">set_function</a></h2><p><code>public void <strong>set_function</strong>(org.eclipse.wst.xml.xpath2.api.Function _function)</code></p><p></p><h3>Parameters</h3><p><code>_function</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.ast.KindTest.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.KindTest.html
index ac9eef2..f095c60 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.KindTest.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.KindTest.html
@@ -1,6 +1,8 @@
 <html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.ast</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.ast</strong></font><br>
                Class KindTest</h2><br><hr><pre>public class <strong>KindTest</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.ast.NodeTest</pre>Class for KindTest operation.<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_KindTest">KindTest</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.AnyType</code></td><td width="" align="left"><code><a href="#method_createTestType">createTestType</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code><br>
+extends org.eclipse.wst.xml.xpath2.processor.internal.ast.NodeTest</pre>Class for KindTest operation.<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_KindTest">KindTest</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.AnyType</code></td><td width="" align="left"><code><a href="#method_createTestType">createTestType</a>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Class</code></td><td width="" align="left"><code><a href="#method_getXDMClassType">getXDMClassType</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -12,4 +14,6 @@
                   Constructor Detail
                </h2></td></tr></table><h2><a name="con_KindTest">KindTest</a></h2><p><code>public <strong>KindTest</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_createTestType">createTestType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>createTestType</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><hr><h2><a name="method_getXDMClassType">getXDMClassType</a></h2><p><code>public java.lang.Class <strong>getXDMClassType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_isWild">isWild</a></h2><p><code>public boolean <strong>isWild</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>name</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code></p><hr></body></html>
\ No newline at end of file
+               </h2></td></tr></table><h2><a name="method_createTestType">createTestType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>createTestType</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc)</code></p><p></p><h3>Parameters</h3><p><code>rs</code></p><p><code>sc</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></p><hr><h2><a name="method_getXDMClassType">getXDMClassType</a></h2><p><code>public java.lang.Class <strong>getXDMClassType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_isWild">isWild</a></h2><p><code>public boolean <strong>isWild</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>name</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</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.ast.PITest.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.PITest.html
index 5b1481e..50f8bb9 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.PITest.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.PITest.html
@@ -4,7 +4,9 @@
                &nbsp;&nbsp;&nbsp;&nbsp;
                Support for Visitor interface.</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_arg">arg</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               Support for String arguments.</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_createTestType">createTestType</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code><br>
+               Support for String arguments.</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_createTestType">createTestType</a>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Class</code></td><td width="" align="left"><code><a href="#method_getXDMClassType">getXDMClassType</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -16,4 +18,6 @@
                   Constructor Detail
                </h2></td></tr></table><h2><a name="con_PITest">PITest</a></h2><p><code>public <strong>PITest</strong>(java.lang.String arg)</code></p><p>Constructor for PITest.</p><hr><h2><a name="con_PITest">PITest</a></h2><p><code>public <strong>PITest</strong>()</code></p><p>Default Constructor for PITest.</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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_arg">arg</a></h2><p><code>public java.lang.String <strong>arg</strong>()</code></p><p>Support for String arguments.</p><h3>Returns</h3><p><code>java.lang.String</code> - Result of String operation.</p><hr><h2><a name="method_createTestType">createTestType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>createTestType</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><hr><h2><a name="method_getXDMClassType">getXDMClassType</a></h2><p><code>public java.lang.Class <strong>getXDMClassType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_isWild">isWild</a></h2><p><code>public boolean <strong>isWild</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>name</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code></p><hr></body></html>
\ No newline at end of file
+               </h2></td></tr></table><h2><a name="method_accept">accept</a></h2><p><code>public java.lang.Object <strong>accept</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_arg">arg</a></h2><p><code>public java.lang.String <strong>arg</strong>()</code></p><p>Support for String arguments.</p><h3>Returns</h3><p><code>java.lang.String</code> - Result of String operation.</p><hr><h2><a name="method_createTestType">createTestType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>createTestType</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc)</code></p><p></p><h3>Parameters</h3><p><code>rs</code></p><p><code>sc</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></p><hr><h2><a name="method_getXDMClassType">getXDMClassType</a></h2><p><code>public java.lang.Class <strong>getXDMClassType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_isWild">isWild</a></h2><p><code>public boolean <strong>isWild</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>name</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</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.ast.SchemaAttrTest.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaAttrTest.html
index 6213b36..4e89fbf 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaAttrTest.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaAttrTest.html
@@ -4,7 +4,9 @@
                &nbsp;&nbsp;&nbsp;&nbsp;
                Support for Visitor interface.</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_arg">arg</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               Support for QName interface.</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_createTestType">createTestType</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code><br>
+               Support for QName interface.</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_createTestType">createTestType</a>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Class</code></td><td width="" align="left"><code><a href="#method_getXDMClassType">getXDMClassType</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -16,4 +18,6 @@
                   Constructor Detail
                </h2></td></tr></table><h2><a name="con_SchemaAttrTest">SchemaAttrTest</a></h2><p><code>public <strong>SchemaAttrTest</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName arg)</code></p><p>Constructor for SchemaAttrTest.</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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_arg">arg</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>arg</strong>()</code></p><p>Support for QName interface.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code> - Result of QName operation.</p><hr><h2><a name="method_createTestType">createTestType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>createTestType</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><hr><h2><a name="method_getXDMClassType">getXDMClassType</a></h2><p><code>public java.lang.Class <strong>getXDMClassType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_isWild">isWild</a></h2><p><code>public boolean <strong>isWild</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>name</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code></p><hr></body></html>
\ No newline at end of file
+               </h2></td></tr></table><h2><a name="method_accept">accept</a></h2><p><code>public java.lang.Object <strong>accept</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_arg">arg</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>arg</strong>()</code></p><p>Support for QName interface.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code> - Result of QName operation.</p><hr><h2><a name="method_createTestType">createTestType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>createTestType</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc)</code></p><p></p><h3>Parameters</h3><p><code>rs</code></p><p><code>sc</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></p><hr><h2><a name="method_getXDMClassType">getXDMClassType</a></h2><p><code>public java.lang.Class <strong>getXDMClassType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_isWild">isWild</a></h2><p><code>public boolean <strong>isWild</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>name</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</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.ast.SchemaElemTest.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaElemTest.html
index 36d0787..931a8c8 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaElemTest.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaElemTest.html
@@ -2,7 +2,9 @@
                Class SchemaElemTest</h2><br><hr><pre>public class <strong>SchemaElemTest</strong>
 extends org.eclipse.wst.xml.xpath2.processor.internal.ast.KindTest</pre>Support for Schema Element Test.<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_SchemaElemTest">SchemaElemTest</a></strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName arg)</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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor v)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               Support for Visitor interface.</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_createTestType">createTestType</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code><br>
+               Support for Visitor interface.</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_createTestType">createTestType</a>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Class</code></td><td width="" align="left"><code><a href="#method_getXDMClassType">getXDMClassType</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -14,4 +16,6 @@
                   Constructor Detail
                </h2></td></tr></table><h2><a name="con_SchemaElemTest">SchemaElemTest</a></h2><p><code>public <strong>SchemaElemTest</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName arg)</code></p><p>Constructor for SchemaElemTest.</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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_createTestType">createTestType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>createTestType</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><hr><h2><a name="method_getXDMClassType">getXDMClassType</a></h2><p><code>public java.lang.Class <strong>getXDMClassType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_isWild">isWild</a></h2><p><code>public boolean <strong>isWild</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>name</strong>()</code></p><p>Support for QName interface.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code> - Result of QName operation.</p><hr></body></html>
\ No newline at end of file
+               </h2></td></tr></table><h2><a name="method_accept">accept</a></h2><p><code>public java.lang.Object <strong>accept</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_createTestType">createTestType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>createTestType</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc)</code></p><p></p><h3>Parameters</h3><p><code>rs</code></p><p><code>sc</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></p><hr><h2><a name="method_getXDMClassType">getXDMClassType</a></h2><p><code>public java.lang.Class <strong>getXDMClassType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_isWild">isWild</a></h2><p><code>public boolean <strong>isWild</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>name</strong>()</code></p><p>Support for QName interface.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code> - Result of QName 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.internal.ast.SequenceType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.SequenceType.html
index f459d86..5229153 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.SequenceType.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.SequenceType.html
@@ -14,7 +14,9 @@
          ,
       org.eclipse.wst.xml.xpath2.processor.internal.ast.ItemType it)</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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor v)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               Support for Visitor interface.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.ast.ItemType</code></td><td width="" align="left"><code><a href="#method_item_type">item_type</a>()</code><br>
+               Support for Visitor interface.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isLengthValid">isLengthValid</a>(int length)</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.ast.ItemType</code></td><td width="" align="left"><code><a href="#method_item_type">item_type</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                Support for ItemType interface.</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_occurrence">occurrence</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -26,4 +28,4 @@
          ,
       org.eclipse.wst.xml.xpath2.processor.internal.ast.ItemType it)</code></p><p>Constructor for SequenceType.</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>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_item_type">item_type</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.ast.ItemType <strong>item_type</strong>()</code></p><p>Support for ItemType interface.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.ast.ItemType</code> - Result of ItemType operation.</p><hr><h2><a name="method_occurrence">occurrence</a></h2><p><code>public int <strong>occurrence</strong>()</code></p><p>Get occurence of item.</p><h3>Returns</h3><p><code>int</code> - Result from Int operation.</p><hr></body></html>
\ No newline at end of file
+               </h2></td></tr></table><h2><a name="method_accept">accept</a></h2><p><code>public java.lang.Object <strong>accept</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_isLengthValid">isLengthValid</a></h2><p><code>public boolean <strong>isLengthValid</strong>(int length)</code></p><p></p><h3>Parameters</h3><p><code>length</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_item_type">item_type</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.ast.ItemType <strong>item_type</strong>()</code></p><p>Support for ItemType interface.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.ast.ItemType</code> - Result of ItemType operation.</p><hr><h2><a name="method_occurrence">occurrence</a></h2><p><code>public int <strong>occurrence</strong>()</code></p><p>Get occurence of item.</p><h3>Returns</h3><p><code>int</code> - Result from Int 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.internal.ast.TextTest.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.TextTest.html
index 85070da..5936668 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.TextTest.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.TextTest.html
@@ -2,7 +2,9 @@
                Class TextTest</h2><br><hr><pre>public class <strong>TextTest</strong>
 extends org.eclipse.wst.xml.xpath2.processor.internal.ast.KindTest</pre>Class to match any text 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_TextTest">TextTest</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_accept">accept</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor v)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
-               Support for Visitor interface.</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_createTestType">createTestType</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code><br>
+               Support for Visitor interface.</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_createTestType">createTestType</a>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Class</code></td><td width="" align="left"><code><a href="#method_getXDMClassType">getXDMClassType</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -14,4 +16,6 @@
                   Constructor Detail
                </h2></td></tr></table><h2><a name="con_TextTest">TextTest</a></h2><p><code>public <strong>TextTest</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_accept">accept</a></h2><p><code>public java.lang.Object <strong>accept</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_createTestType">createTestType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>createTestType</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><hr><h2><a name="method_getXDMClassType">getXDMClassType</a></h2><p><code>public java.lang.Class <strong>getXDMClassType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_isWild">isWild</a></h2><p><code>public boolean <strong>isWild</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>name</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</code></p><hr></body></html>
\ No newline at end of file
+               </h2></td></tr></table><h2><a name="method_accept">accept</a></h2><p><code>public java.lang.Object <strong>accept</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.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_createTestType">createTestType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>createTestType</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs
+         ,
+      org.eclipse.wst.xml.xpath2.api.StaticContext sc)</code></p><p></p><h3>Parameters</h3><p><code>rs</code></p><p><code>sc</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></p><hr><h2><a name="method_getXDMClassType">getXDMClassType</a></h2><p><code>public java.lang.Class <strong>getXDMClassType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_isWild">isWild</a></h2><p><code>public boolean <strong>isWild</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_name">name</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.QName <strong>name</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.QName</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.AnyType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType.html
index 0ed53a8..4757c95 100644
--- 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
@@ -1,11 +1,41 @@
 <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>
+extends java.lang.Object</pre>Common base for every type<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  javax.xml.datatype.DatatypeFactory</code></td><td width="80%" align="left"><code><a href="#field__datatypeFactory">_datatypeFactory</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_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 boolean</code></td><td width="" align="left"><code><a href="#method_empty">empty</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.AnyType</code></td><td width="" align="left"><code><a href="#method_first">first</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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_firstValue">firstValue</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></td><td width="" align="left"><code><a href="#method_getItemType">getItemType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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_getNativeValue">getNativeValue</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_getStringValue">getStringValue</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Retrieves the datatype's text representation</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns the "new style" of TypeDefinition for this item.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.Item</code></td><td width="" align="left"><code><a href="#method_item">item</a>(int index)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></td><td width="" align="left"><code><a href="#method_itemType">itemType</a>(int index)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></td><td width="" align="left"><code><a href="#method_sequenceType">sequenceType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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;
+               </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>
+               </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_value">value</a>(int index)</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>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field__datatypeFactory">_datatypeFactory</a></h2><p><code>protected static  javax.xml.datatype.DatatypeFactory <strong>_datatypeFactory</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_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
+               </h2></td></tr></table><h2><a name="method_empty">empty</a></h2><p><code>public boolean <strong>empty</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></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></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></p><hr><h2><a name="method_firstValue">firstValue</a></h2><p><code>public java.lang.Object <strong>firstValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getItemType">getItemType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType <strong>getItemType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></p><hr><h2><a name="method_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</strong>()</code></p><p>Retrieves the datatype's text representation</p><h3>Returns</h3><p><code>java.lang.String</code> - Value as a string</p><hr><h2><a name="method_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p>Returns the "new style" of TypeDefinition for this item.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code> - Type definition (possibly backed by a schema type)</p><hr><h2><a name="method_item">item</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.Item <strong>item</strong>(int index)</code></p><p></p><h3>Parameters</h3><p><code>index</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.Item</code></p><hr><h2><a name="method_itemType">itemType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType <strong>itemType</strong>(int index)</code></p><p></p><h3>Parameters</h3><p><code>index</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></p><hr><h2><a name="method_iterator">iterator</a></h2><p><code>public java.util.Iterator <strong>iterator</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Iterator</code></p><hr><h2><a name="method_sequenceType">sequenceType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.ItemType <strong>sequenceType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.ItemType</code></p><hr><h2><a name="method_size">size</a></h2><p><code>public int <strong>size</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</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> - 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></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_value">value</a></h2><p><code>public java.lang.Object <strong>value</strong>(int index)</code></p><p></p><h3>Parameters</h3><p><code>index</code></p><h3>Returns</h3><p><code>java.lang.Object</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.AttrType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.AttrType.html
index a683ac0..49869d0 100644
--- 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
@@ -1,21 +1,31 @@
 <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>
+extends org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType</pre>A representation of the AttributeType 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>package-private org.w3c.dom.Attr</code></td><td width="80%" align="left"><code><a href="#field__value">_value</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_AttrType">AttrType</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_AttrType">AttrType</a></strong>(org.w3c.dom.Attr v
+         ,
+      org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel tm)</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_getStringValue">getStringValue</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.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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>
+               Checks if the current node is of type ID</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>
+               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.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>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field__value">_value</a></h2><p><code>package-private org.w3c.dom.Attr <strong>_value</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_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>
+               </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
+         ,
+      org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel tm)</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
+               </h2></td></tr></table><h2><a name="method_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><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>Checks if the current node is of type ID</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_typed_value">typed_value</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.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.api.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
index 91941b2..3ad288e 100644
--- 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
@@ -1,6 +1,10 @@
 <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><tr valign="top"><td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code><a href="#method_isGDataType">isGDataType</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType aat)</code><br>
+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><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;
+               </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_getNativeValue">getNativeValue</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_isGDataType">isGDataType</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType aat)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                </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_normalizeCalendar">normalizeCalendar</a>(java.util.Calendar cal
          ,
@@ -10,6 +14,6 @@
                   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><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_isGDataType">isGDataType</a></h2><p><code>protected boolean <strong>isGDataType</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType 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_normalizeCalendar">normalizeCalendar</a></h2><p><code>public java.util.Calendar <strong>normalizeCalendar</strong>(java.util.Calendar cal
+               </h2></td></tr></table><h2><a name="method_calendar">calendar</a></h2><p><code>public java.util.Calendar <strong>calendar</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Calendar</code></p><hr><h2><a name="method_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_isGDataType">isGDataType</a></h2><p><code>protected boolean <strong>isGDataType</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType 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_normalizeCalendar">normalizeCalendar</a></h2><p><code>public java.util.Calendar <strong>normalizeCalendar</strong>(java.util.Calendar cal
          ,
       org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration timezone)</code></p><p></p><h3>Parameters</h3><p><code>cal</code></p><p><code>timezone</code></p><h3>Returns</h3><p><code>java.util.Calendar</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.CommentType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.CommentType.html
index c17922c..bbd04f5 100644
--- 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
@@ -1,6 +1,12 @@
 <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>
+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
+         ,
+      org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel tm)</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_getStringValue">getStringValue</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.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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;
@@ -8,12 +14,12 @@
                &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>
+               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.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>
+               </h2></td></tr></table><h2><a name="con_CommentType">CommentType</a></h2><p><code>public <strong>CommentType</strong>(org.w3c.dom.Comment v
+         ,
+      org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel tm)</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
+               </h2></td></tr></table><h2><a name="method_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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>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_typed_value">typed_value</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.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.api.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
index 54b93e8..e259ba0 100644
--- 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
@@ -1,11 +1,13 @@
 <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>
+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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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>
+               Used for constructor function.</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_getNativeValue">getNativeValue</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_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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</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
index 2e19780..497231d 100644
--- 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
@@ -1,6 +1,12 @@
 <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>
+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
+         ,
+      org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel tm)</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_getStringValue">getStringValue</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.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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;
@@ -8,14 +14,14 @@
                &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>
+               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.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>
+               </h2></td></tr></table><h2><a name="con_DocType">DocType</a></h2><p><code>public <strong>DocType</strong>(org.w3c.dom.Document v
+         ,
+      org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel tm)</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
+               </h2></td></tr></table><h2><a name="method_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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> - 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_typed_value">typed_value</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.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.api.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
index 3218ca9..8a7ef10 100644
--- 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
@@ -1,32 +1,33 @@
 <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><tr><td><code><strong><a href="#con_ElementType">ElementType</a></strong>(org.w3c.dom.Element v
+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
          ,
-      int nodePosition)</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>
+      org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel tm)</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_getStringValue">getStringValue</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 org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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>
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.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>
+               Retrieves the datatype's full pathname</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;
-               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>
+               Recursively concatenate TextNode strings</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.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><h2><a name="con_ElementType">ElementType</a></h2><p><code>public <strong>ElementType</strong>(org.w3c.dom.Element v
+               </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
          ,
-      int nodePosition)</code></p><p>This deprecated and will be removed. Adopters need to use
- ElementType(Element)</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+      org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel tm)</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
+               </h2></td></tr></table><h2><a name="method_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><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.api.ResultSequence <strong>nilled</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.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_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.api.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.api.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.NodeItemTypeImpl.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.NodeItemTypeImpl.html
new file mode 100644
index 0000000..861c5b6
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.NodeItemTypeImpl.html
@@ -0,0 +1,37 @@
+<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 NodeItemTypeImpl</h2><br><hr><pre>public class <strong>NodeItemTypeImpl</strong>
+extends java.lang.Object</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_NodeItemTypeImpl">NodeItemTypeImpl</a></strong>(short occurrence
+         ,
+      short nodeType)</code></td></tr><tr><td><code><strong><a href="#con_NodeItemTypeImpl">NodeItemTypeImpl</a></strong>(short nodeType)</code></td></tr><tr><td><code><strong><a href="#con_NodeItemTypeImpl">NodeItemTypeImpl</a></strong>(short occurrence
+         ,
+      short nodeType
+         ,
+      org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition typeDefinition
+         ,
+      javax.xml.namespace.QName name
+         ,
+      boolean wildcard)</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 javax.xml.namespace.QName</code></td><td width="" align="left"><code><a href="#method_getName">getName</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public short</code></td><td width="" align="left"><code><a href="#method_getNodeType">getNodeType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public short</code></td><td width="" align="left"><code><a href="#method_getOccurrence">getOccurrence</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_isWildcard">isWildcard</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_NodeItemTypeImpl">NodeItemTypeImpl</a></h2><p><code>public <strong>NodeItemTypeImpl</strong>(short occurrence
+         ,
+      short nodeType)</code></p><p></p><hr><h2><a name="con_NodeItemTypeImpl">NodeItemTypeImpl</a></h2><p><code>public <strong>NodeItemTypeImpl</strong>(short nodeType)</code></p><p></p><hr><h2><a name="con_NodeItemTypeImpl">NodeItemTypeImpl</a></h2><p><code>public <strong>NodeItemTypeImpl</strong>(short occurrence
+         ,
+      short nodeType
+         ,
+      org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition typeDefinition
+         ,
+      javax.xml.namespace.QName name
+         ,
+      boolean wildcard)</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_getName">getName</a></h2><p><code>public javax.xml.namespace.QName <strong>getName</strong>()</code></p><p></p><h3>Returns</h3><p><code>javax.xml.namespace.QName</code></p><hr><h2><a name="method_getNodeType">getNodeType</a></h2><p><code>public short <strong>getNodeType</strong>()</code></p><p></p><h3>Returns</h3><p><code>short</code></p><hr><h2><a name="method_getOccurrence">getOccurrence</a></h2><p><code>public short <strong>getOccurrence</strong>()</code></p><p></p><h3>Returns</h3><p><code>short</code></p><hr><h2><a name="method_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><h2><a name="method_isWildcard">isWildcard</a></h2><p><code>public boolean <strong>isWildcard</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</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.NodeType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType.html
index bfbdd20..f0b0f8e 100644
--- 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
@@ -1,10 +1,16 @@
 <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>
+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 org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel</code></td><td width="80%" align="left"><code><a href="#field__typeModel">_typeModel</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.util.Comparator</code></td><td width="80%" align="left"><code><a href="#field_NODE_COMPARATOR">NODE_COMPARATOR</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_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>
+               </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
+         ,
+      org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel tm)</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
          ,
@@ -16,11 +22,23 @@
          ,
       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>
+               </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
+         ,
+      org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel tm)</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>(org.apache.xerces.xs.XSTypeDefinition typeDef)</code><br>
+               </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_getNativeValue">getNativeValue</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getType">getType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Looks up the available type for the node, if available</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>(org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition typeDef)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel</code></td><td width="" align="left"><code><a href="#method_getTypeModel">getTypeModel</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_getXDMTypedValue">getXDMTypedValue</a>(org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition typeDef
+         ,
+      java.util.List itemValTypes)</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;
@@ -30,7 +48,9 @@
          ,
       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>
+               Utility method to check to see if a particular TypeInfo matches.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.api.ResultBuffer</code></td><td width="" align="left"><code><a href="#method_linarize">linarize</a>(org.eclipse.wst.xml.xpath2.api.ResultBuffer rs)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.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;
@@ -42,20 +62,26 @@
                &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>
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.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>
+               </h2></td></tr></table><h2><a name="field__typeModel">_typeModel</a></h2><p><code>protected org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel <strong>_typeModel</strong></code></p><hr><h2><a name="field_NODE_COMPARATOR">NODE_COMPARATOR</a></h2><p><code>public static  java.util.Comparator <strong>NODE_COMPARATOR</strong></code></p><hr><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>
+               </h2></td></tr></table><h2><a name="con_NodeType">NodeType</a></h2><p><code>public <strong>NodeType</strong>(org.w3c.dom.Node node
+         ,
+      org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel tm)</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>(org.apache.xerces.xs.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
+      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
          ,
-      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.api.typesystem.TypeModel tm)</code></p><p></p><h3>Parameters</h3><p><code>node</code></p><p><code>tm</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_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getType">getType</a></h2><p><code>protected org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getType</strong>()</code></p><p>Looks up the available type for the node, if available</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code> - TypeDefinition, or null</p><hr><h2><a name="method_getTypedValueForPrimitiveType">getTypedValueForPrimitiveType</a></h2><p><code>protected java.lang.Object <strong>getTypedValueForPrimitiveType</strong>(org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition 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_getTypeModel">getTypeModel</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel <strong>getTypeModel</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel</code></p><hr><h2><a name="method_getXDMTypedValue">getXDMTypedValue</a></h2><p><code>protected org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>getXDMTypedValue</strong>(org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition typeDef
          ,
-      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
+      java.util.List itemValTypes)</code></p><p></p><h3>Parameters</h3><p><code>typeDef</code></p><p><code>itemValTypes</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.ResultSequence</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_linarize">linarize</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultBuffer <strong>linarize</strong>(org.eclipse.wst.xml.xpath2.api.ResultBuffer rs)</code></p><p></p><h3>Parameters</h3><p><code>rs</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.ResultBuffer</code></p><hr><h2><a name="method_nilled">nilled</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>nilled</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.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.api.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.api.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
index 51476e3..befdd27 100644
--- 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
@@ -6,13 +6,17 @@
                &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>
+               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.api.Item</code></td><td width="" align="left"><code><a href="#method_get_single_arg">get_single_arg</a>(org.eclipse.wst.xml.xpath2.api.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
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.api.Item</code></td><td width="" align="left"><code><a href="#method_get_single_type">get_single_type</a>(org.eclipse.wst.xml.xpath2.api.Item 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
+               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.api.Item</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;
+               </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.api.ResultSequence rs
          ,
       java.lang.Class type)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -23,7 +27,7 @@
                &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>
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.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>
@@ -32,10 +36,12 @@
                   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
+               </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.api.Item <strong>get_single_arg</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence rs)</code></p><p></p><h3>Parameters</h3><p><code>rs</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.Item</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.api.Item <strong>get_single_type</strong>(org.eclipse.wst.xml.xpath2.api.Item 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 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.api.Item</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.api.Item <strong>get_single_type</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType at
+         ,
+      java.lang.Class type)</code></p><p></p><h3>Parameters</h3><p><code>at</code></p><p><code>type</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.Item</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.api.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
+ 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.api.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.api.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
index 5027c68..5daf603 100644
--- 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
@@ -1,6 +1,13 @@
 <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>
+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
+         ,
+      org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel tm)</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_getStringValue">getStringValue</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.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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;
@@ -8,18 +15,17 @@
                &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>
+               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.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>
+               </h2></td></tr></table><h2><a name="con_PIType">PIType</a></h2><p><code>public <strong>PIType</strong>(org.w3c.dom.ProcessingInstruction v
+         ,
+      org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel tm)</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
+               </h2></td></tr></table><h2><a name="method_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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>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_typed_value">typed_value</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.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.api.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
index 8795d15..1cb5d89 100644
--- 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
@@ -6,12 +6,14 @@
          ,
       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>
+      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><tr><td><code><strong><a href="#con_QName">QName</a></strong>(javax.xml.namespace.QName name)</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 javax.xml.namespace.QName</code></td><td width="" align="left"><code><a href="#method_asQName">asQName</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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;
@@ -20,7 +22,14 @@
                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>
+ be called if a namespace does exist for this 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_getNativeValue">getNativeValue</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_getStringValue">getStringValue</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 org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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;
@@ -38,10 +47,7 @@
                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>
+               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_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;
@@ -53,13 +59,13 @@
          ,
       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>
+      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><h2><a name="con_QName">QName</a></h2><p><code>public <strong>QName</strong>(javax.xml.namespace.QName name)</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 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
+               </h2></td></tr></table><h2><a name="method_asQName">asQName</a></h2><p><code>public javax.xml.namespace.QName <strong>asQName</strong>()</code></p><p></p><h3>Returns</h3><p><code>javax.xml.namespace.QName</code></p><hr><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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><p><code>dynamicContext</code></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_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></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
+ 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_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.SchemaTypeValueFactory.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.SchemaTypeValueFactory.html
new file mode 100644
index 0000000..341b73e
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.SchemaTypeValueFactory.html
@@ -0,0 +1,14 @@
+<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 SchemaTypeValueFactory</h2><br><hr><pre>public class <strong>SchemaTypeValueFactory</strong>
+extends java.lang.Object</pre>A factory class implementation, to construct PsychoPath schema type representation corresponding 
+ to XML Schema types.<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_SchemaTypeValueFactory">SchemaTypeValueFactory</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.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_newSchemaTypeValue">newSchemaTypeValue</a>(short typeDef
+         ,
+      java.lang.String strValue)</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_SchemaTypeValueFactory">SchemaTypeValueFactory</a></h2><p><code>public <strong>SchemaTypeValueFactory</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_newSchemaTypeValue">newSchemaTypeValue</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>newSchemaTypeValue</strong>(short typeDef
+         ,
+      java.lang.String strValue)</code></p><p></p><h3>Parameters</h3><p><code>typeDef</code></p><p><code>strValue</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</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.SimpleAtomicItemTypeImpl.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.SimpleAtomicItemTypeImpl.html
new file mode 100644
index 0000000..a91de29
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.SimpleAtomicItemTypeImpl.html
@@ -0,0 +1,15 @@
+<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 SimpleAtomicItemTypeImpl</h2><br><hr><pre>public class <strong>SimpleAtomicItemTypeImpl</strong>
+extends java.lang.Object</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_SimpleAtomicItemTypeImpl">SimpleAtomicItemTypeImpl</a></strong>(org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition typeDefinition)</code></td></tr><tr><td><code><strong><a href="#con_SimpleAtomicItemTypeImpl">SimpleAtomicItemTypeImpl</a></strong>(org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition typeDefinition
+         ,
+      short occurrence)</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 short</code></td><td width="" align="left"><code><a href="#method_getOccurrence">getOccurrence</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_SimpleAtomicItemTypeImpl">SimpleAtomicItemTypeImpl</a></h2><p><code>public <strong>SimpleAtomicItemTypeImpl</strong>(org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition typeDefinition)</code></p><p></p><hr><h2><a name="con_SimpleAtomicItemTypeImpl">SimpleAtomicItemTypeImpl</a></h2><p><code>public <strong>SimpleAtomicItemTypeImpl</strong>(org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition typeDefinition
+         ,
+      short occurrence)</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_getOccurrence">getOccurrence</a></h2><p><code>public short <strong>getOccurrence</strong>()</code></p><p></p><h3>Returns</h3><p><code>short</code></p><hr><h2><a name="method_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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.TextType.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.TextType.html
index f14197b..3b8c7ce 100644
--- 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
@@ -1,6 +1,12 @@
 <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>
+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
+         ,
+      org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel tm)</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_getStringValue">getStringValue</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.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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;
@@ -8,12 +14,12 @@
                &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>
+               Retrieves the datatype's name</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.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>
+               </h2></td></tr></table><h2><a name="con_TextType">TextType</a></h2><p><code>public <strong>TextType</strong>(org.w3c.dom.Text v
+         ,
+      org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel tm)</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
+               </h2></td></tr></table><h2><a name="method_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><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_typed_value">typed_value</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.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.api.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.XSAnyURI.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI.html
index 427987f..321d2e3 100644
--- 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
@@ -1,21 +1,25 @@
 <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>
+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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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
+ 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_getStringValue">getStringValue</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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>
@@ -29,15 +33,15 @@
                   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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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><p><code>dynamicContext</code></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_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code></p><p>Greater than comparison between this and the supplied representation which
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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><p><code>context</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code></p><p>Less than comparison between this and the supplied representation which
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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><p><code>context</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
index 8df9bbe..1939633 100644
--- 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
@@ -1,18 +1,22 @@
 <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>
+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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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>
+ must be of type base64Binary</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_getNativeValue">getNativeValue</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>
+               </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_getStringValue">getStringValue</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>
+ functionally identical to value()</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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><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;
@@ -21,9 +25,9 @@
                   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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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><p><code>dynamicContext</code></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_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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_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
index 3ba00cf..69b6d87 100644
--- 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
@@ -1,49 +1,61 @@
 <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>
+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 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  org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean</code></td><td width="80%" align="left"><code><a href="#field_FALSE">FALSE</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.XSBoolean</code></td><td width="80%" align="left"><code><a href="#field_TRUE">TRUE</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_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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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
+ otherwise</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_getNativeValue">getNativeValue</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_getStringValue">getStringValue</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 org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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>
+               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_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>
+               Retrieves the actual boolean value stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_valueOf">valueOf</a>(boolean answer)</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>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_FALSE">FALSE</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean <strong>FALSE</strong></code></p><hr><h2><a name="field_TRUE">TRUE</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean <strong>TRUE</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_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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code></p><p>Comparison for equality between the supplied and this boolean
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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><p><code>context</code></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
+ otherwise</p><h3>Parameters</h3><p><code>arg</code> - The XSBoolean representation of the boolean value to compare             with.</p><p><code>dynamicContext</code></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_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code></p><p>Comparison between the supplied and this boolean representation. Returns
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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><p><code>context</code></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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code></p><p>Comparison between the supplied and this boolean representation. Returns
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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><p><code>context</code></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
+ represents true. Returns false otherwise</p><h3>Parameters</h3><p><code>arg</code> - The XSBoolean representation of the boolean value to compare             with.</p><p><code>context</code></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_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><h2><a name="method_valueOf">valueOf</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>valueOf</strong>(boolean answer)</code></p><p></p><h3>Parameters</h3><p><code>answer</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.ResultSequence</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.XSByte.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSByte.html
index 203c77e..f7482a5 100644
--- 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
@@ -1,9 +1,11 @@
 <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>
+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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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>
+ supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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;
@@ -11,5 +13,5 @@
                   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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
index eae78bf..04af2b5 100644
--- 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
@@ -6,25 +6,29 @@
                &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>
+               Creates a copy of this date representation</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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
+ account)</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_getStringValue">getStringValue</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 org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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>
+               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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_minus">minus</a>(org.eclipse.wst.xml.xpath2.api.ResultSequence arg)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                Mathematical minus operator between this XSDate and a supplied result
  sequence (XSDate, XSYearMonthDuration and XSDayTimeDuration are only
@@ -34,15 +38,13 @@
                &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>
+ it.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_plus">plus</a>(org.eclipse.wst.xml.xpath2.api.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>
+               Retrive the datatype full pathname</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;
@@ -59,19 +61,19 @@
          ,
       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
+               </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.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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><p><code>dynamicContext</code></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_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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><p><code>context</code></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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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><p><code>context</code></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.api.ResultSequence <strong>minus</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence arg)</code></p><p>Mathematical minus operator between this XSDate and a supplied result
  sequence (XSDate, XSYearMonthDuration and XSDayTimeDuration 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             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.</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
+ 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             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.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.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
+ 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.api.ResultSequence <strong>plus</strong>(org.eclipse.wst.xml.xpath2.api.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
+ 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.api.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_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
index 8a2c3e6..f5433a2 100644
--- 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
@@ -6,19 +6,23 @@
                &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>
+               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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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
+ timezones into account)</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_getStringValue">getStringValue</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 org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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>
@@ -27,10 +31,10 @@
                &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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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>
+ into account)</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_minus">minus</a>(org.eclipse.wst.xml.xpath2.api.ResultSequence arg)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                Mathematical minus operator between this XSDateTime and a supplied result
  sequence (XSDateTime, XDTYearMonthDuration and XDTDayTimeDuration are
@@ -55,7 +59,7 @@
  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>
+ XSDateTime object using that information</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_plus">plus</a>(org.eclipse.wst.xml.xpath2.api.ResultSequence arg)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
                Mathematical addition operator between this XSDateTime and a supplied
  result sequence (XDTYearMonthDuration and XDTDayTimeDuration are only
@@ -63,9 +67,7 @@
                &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>
+               Retrive the datatype full pathname</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;
@@ -82,26 +84,26 @@
          ,
       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
+               </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.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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><p><code>dynamicContext</code></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_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code></p><p>Comparison on this and the supplied dates and times (taking timezones
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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><p><code>context</code></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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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><p><code>context</code></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.api.ResultSequence <strong>minus</strong>(org.eclipse.wst.xml.xpath2.api.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
+ 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.api.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
+ 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.api.ResultSequence <strong>plus</strong>(org.eclipse.wst.xml.xpath2.api.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
+ 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.api.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_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
index 68dae93..196b9e1 100644
--- 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
@@ -8,25 +8,27 @@
          ,
       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>
+      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><tr><td><code><strong><a href="#con_XSDayTimeDuration">XSDayTimeDuration</a></strong>(javax.xml.datatype.Duration d)</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>
+               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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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>
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_div">div</a>(org.eclipse.wst.xml.xpath2.api.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>
+ duration of time (of type XSDayTimeDuration)</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_minus">minus</a>(org.eclipse.wst.xml.xpath2.api.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>
+ represented duration of time</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_plus">plus</a>(org.eclipse.wst.xml.xpath2.api.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>
+               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_times">times</a>(org.eclipse.wst.xml.xpath2.api.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>
@@ -43,11 +45,11 @@
          ,
       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>
+ 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><h2><a name="con_XSDayTimeDuration">XSDayTimeDuration</a></h2><p><code>public <strong>XSDayTimeDuration</strong>(javax.xml.datatype.Duration d)</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_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
+               </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.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence arg)</code></p><p></p><h3>Parameters</h3><p><code>arg</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.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.api.ResultSequence <strong>div</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><h2><a name="method_minus">minus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>minus</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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.api.ResultSequence <strong>plus</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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.api.ResultSequence <strong>times</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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
index 6362ad9..1675162 100644
--- 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
@@ -4,29 +4,35 @@
                &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>
+               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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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>
+ number in the supplied result sequence</td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.eclipse.wst.xml.xpath2.api.Item</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>
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_div">div</a>(org.eclipse.wst.xml.xpath2.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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>
+               Returns the largest integer smaller than the number 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_getNativeValue">getNativeValue</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_getStringValue">getStringValue</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.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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>
+               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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_idiv">idiv</a>(org.eclipse.wst.xml.xpath2.api.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,
@@ -34,20 +40,24 @@
                &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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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>
+               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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_minus">minus</a>(org.eclipse.wst.xml.xpath2.api.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>
+ ResultSequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_mod">mod</a>(org.eclipse.wst.xml.xpath2.api.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>
+ ResultSequence must be of type XSDecimal.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_plus">plus</a>(org.eclipse.wst.xml.xpath2.api.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>
+ ResultSequence must be of type XSDecimal.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.math.BigDecimal</code></td><td width="" align="left"><code><a href="#method_remainder">remainder</a>(java.math.BigDecimal value
+         ,
+      java.math.BigDecimal divisor)</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.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;
@@ -57,14 +67,12 @@
                &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>
+               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_times">times</a>(org.eclipse.wst.xml.xpath2.api.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>
+               Retrieves the datatype's name</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.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;
@@ -72,20 +80,22 @@
                   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
+               </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.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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.api.Item <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.api.Item</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.api.ResultSequence <strong>div</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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><p><code>dynamicContext</code></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_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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><p><code>context</code></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.api.ResultSequence <strong>idiv</strong>(org.eclipse.wst.xml.xpath2.api.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_isLexicalValue">isLexicalValue</a></h2><p><code>protected boolean <strong>isLexicalValue</strong>(java.lang.String value)</code></p><p></p><h3>Parameters</h3><p><code>value</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
+ 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.api.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_isLexicalValue">isLexicalValue</a></h2><p><code>protected boolean <strong>isLexicalValue</strong>(java.lang.String value)</code></p><p></p><h3>Parameters</h3><p><code>value</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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><p><code>context</code></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.api.ResultSequence <strong>minus</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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.api.ResultSequence <strong>mod</strong>(org.eclipse.wst.xml.xpath2.api.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 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.api.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.api.ResultSequence <strong>plus</strong>(org.eclipse.wst.xml.xpath2.api.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
+ 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.api.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_remainder">remainder</a></h2><p><code>public java.math.BigDecimal <strong>remainder</strong>(java.math.BigDecimal value
+         ,
+      java.math.BigDecimal divisor)</code></p><p></p><h3>Parameters</h3><p><code>value</code></p><p><code>divisor</code></p><h3>Returns</h3><p><code>java.math.BigDecimal</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_times">times</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>times</strong>(org.eclipse.wst.xml.xpath2.api.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.api.ResultSequence</code> - A XSDecimal consisting of the result of the mathematical          multiplication.</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.api.ResultSequence <strong>unary_minus</strong>()</code></p><p>Negation of the number stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.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
index 7703998..ee351b9 100644
--- 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
@@ -4,41 +4,47 @@
                &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>
+               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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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>
+ in the supplied result sequence</td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.eclipse.wst.xml.xpath2.api.Item</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>
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_div">div</a>(org.eclipse.wst.xml.xpath2.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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
-         ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+               Returns the largest integer smaller than the number 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_getNativeValue">getNativeValue</a>()</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>
+               </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_getStringValue">getStringValue</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.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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
+         ,
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_idiv">idiv</a>(org.eclipse.wst.xml.xpath2.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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>
+ of type XSDouble.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_minus">minus</a>(org.eclipse.wst.xml.xpath2.api.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>
+ ResultSequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_mod">mod</a>(org.eclipse.wst.xml.xpath2.api.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>
@@ -47,7 +53,7 @@
                &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>
+               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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_plus">plus</a>(org.eclipse.wst.xml.xpath2.api.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>
@@ -59,15 +65,13 @@
                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>
+               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_times">times</a>(org.eclipse.wst.xml.xpath2.api.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>
+               Retrieves the datatype's name</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.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;
@@ -75,21 +79,21 @@
                   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
+               </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.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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.api.Item <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.api.Item</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.api.ResultSequence <strong>div</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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><p><code>dynamicContext</code></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_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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><p><code>context</code></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.api.ResultSequence <strong>idiv</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code></p><p>Comparison between this number and the supplied representation. Currently
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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><p><code>context</code></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
+ of type XSDouble.</p><h3>Parameters</h3><p><code>arg</code> - Representation to be compared with (must currently be of type             XSDouble)</p><p><code>context</code></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.api.ResultSequence <strong>minus</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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.api.ResultSequence <strong>mod</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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.api.ResultSequence <strong>plus</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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_times">times</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>times</strong>(org.eclipse.wst.xml.xpath2.api.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
+ 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.api.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.api.ResultSequence <strong>unary_minus</strong>()</code></p><p>Negation of the number stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.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
index f72fb92..610cebe 100644
--- 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
@@ -29,18 +29,24 @@
          ,
       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>
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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
+               Equality comparison between this and the supplied duration of time.</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_getNativeValue">getNativeValue</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_getStringValue">getStringValue</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 org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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;
@@ -48,7 +54,7 @@
                &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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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;
@@ -66,9 +72,7 @@
                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 double</code></td><td width="" align="left"><code><a href="#method_time_value">time_value</a>()</code><br>
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public double</code></td><td width="" align="left"><code><a href="#method_time_value">time_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;
@@ -96,15 +100,15 @@
  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
+               </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.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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><p><code>dynamicContext</code></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_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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><p><code>context</code></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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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><p><code>context</code></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_time_value">time_value</a></h2><p><code>public double <strong>time_value</strong>()</code></p><p></p><h3>Returns</h3><p><code>double</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><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
+ 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_time_value">time_value</a></h2><p><code>public double <strong>time_value</strong>()</code></p><p></p><h3>Returns</h3><p><code>double</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><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
index ff3393d..51fdc17 100644
--- 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
@@ -1,12 +1,14 @@
 <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>
+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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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>
+ evaluation for casting.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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;
@@ -14,8 +16,8 @@
                   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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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
+ 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.api.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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
index 15a9ca8..ec109ca 100644
--- 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
@@ -4,39 +4,45 @@
                &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>
+               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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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>
+ supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.eclipse.wst.xml.xpath2.api.Item</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>
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_div">div</a>(org.eclipse.wst.xml.xpath2.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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
-         ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+               Returns the largest integer smaller than the number 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_getNativeValue">getNativeValue</a>()</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>
+               </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_getStringValue">getStringValue</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.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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
+         ,
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_idiv">idiv</a>(org.eclipse.wst.xml.xpath2.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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>
+               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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_minus">minus</a>(org.eclipse.wst.xml.xpath2.api.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>
+ ResultSequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_mod">mod</a>(org.eclipse.wst.xml.xpath2.api.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
@@ -44,7 +50,7 @@
                &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>
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_plus">plus</a>(org.eclipse.wst.xml.xpath2.api.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>
@@ -55,14 +61,12 @@
                &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>
+               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_times">times</a>(org.eclipse.wst.xml.xpath2.api.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>
+               Retrieves the datatype's name</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.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;
@@ -70,18 +74,18 @@
                   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><h2><a name="con_XSFloat">XSFloat</a></h2><p><code>public <strong>XSFloat</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 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
+               </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.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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.api.Item <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.api.Item</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.api.ResultSequence <strong>div</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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><p><code>dynamicContext</code></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_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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><p><code>context</code></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.api.ResultSequence <strong>idiv</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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><p><code>context</code></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.api.ResultSequence <strong>minus</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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.api.ResultSequence <strong>mod</strong>(org.eclipse.wst.xml.xpath2.api.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
+ 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.api.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.api.ResultSequence <strong>plus</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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_times">times</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>times</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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.api.ResultSequence <strong>unary_minus</strong>()</code></p><p>Negates the number stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.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
index ff61387..213bc74 100644
--- 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
@@ -4,26 +4,28 @@
          ,
       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>
+               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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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>protected boolean</code></td><td width="" align="left"><code><a href="#method_isGDataType">isGDataType</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType aat)</code><br>
+ representation must be of type XSGDay</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_getStringValue">getStringValue</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 org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_isGDataType">isGDataType</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 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>
+               Retrieves the datatype's full pathname</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;
@@ -35,9 +37,9 @@
          ,
       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
+               </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.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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_isGDataType">isGDataType</a></h2><p><code>protected boolean <strong>isGDataType</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_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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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><p><code>dynamicContext</code></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_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><h2><a name="method_isGDataType">isGDataType</a></h2><p><code>protected boolean <strong>isGDataType</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_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_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
index 17b4d5c..a054481 100644
--- 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
@@ -4,15 +4,19 @@
          ,
       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>
+               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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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>protected boolean</code></td><td width="" align="left"><code><a href="#method_isGDataType">isGDataType</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType aat)</code><br>
+ representation must be of type XSGMonth</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_getStringValue">getStringValue</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 org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_isGDataType">isGDataType</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 int</code></td><td width="" align="left"><code><a href="#method_month">month</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -21,9 +25,7 @@
                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>
+               Retrieves the datatype's full pathname</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;
@@ -35,9 +37,9 @@
          ,
       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
+               </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.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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_isGDataType">isGDataType</a></h2><p><code>protected boolean <strong>isGDataType</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_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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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><p><code>dynamicContext</code></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_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><h2><a name="method_isGDataType">isGDataType</a></h2><p><code>protected boolean <strong>isGDataType</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_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_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
index e290aa6..0cc9f2b 100644
--- 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
@@ -4,17 +4,21 @@
          ,
       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>
+               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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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>protected boolean</code></td><td width="" align="left"><code><a href="#method_isGDataType">isGDataType</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType aat)</code><br>
+ representation must be of type XSGMonthDay</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_getStringValue">getStringValue</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 org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_isGDataType">isGDataType</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 int</code></td><td width="" align="left"><code><a href="#method_month">month</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -23,9 +27,7 @@
                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>
+               Retrieves the datatype's full pathname</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;
@@ -37,9 +39,9 @@
          ,
       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
+               </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.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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_isGDataType">isGDataType</a></h2><p><code>protected boolean <strong>isGDataType</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_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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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><p><code>dynamicContext</code></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_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><h2><a name="method_isGDataType">isGDataType</a></h2><p><code>protected boolean <strong>isGDataType</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_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_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
index a602587..b83a080 100644
--- 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
@@ -4,24 +4,26 @@
          ,
       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>
+               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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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>protected boolean</code></td><td width="" align="left"><code><a href="#method_isGDataType">isGDataType</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType aat)</code><br>
+ representation must be of type XSGYear</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_getStringValue">getStringValue</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 org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_isGDataType">isGDataType</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 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>
+               Retrieves the datatype's full pathname</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;
@@ -35,9 +37,9 @@
          ,
       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
+               </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.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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_isGDataType">isGDataType</a></h2><p><code>protected boolean <strong>isGDataType</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_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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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><p><code>dynamicContext</code></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_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><h2><a name="method_isGDataType">isGDataType</a></h2><p><code>protected boolean <strong>isGDataType</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_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_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
index 90c2a69..9ca8d4d 100644
--- 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
@@ -4,15 +4,19 @@
          ,
       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>
+               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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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>protected boolean</code></td><td width="" align="left"><code><a href="#method_isGDataType">isGDataType</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType aat)</code><br>
+ representation must be of type XSGYearMonth</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_getStringValue">getStringValue</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 org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_isGDataType">isGDataType</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 int</code></td><td width="" align="left"><code><a href="#method_month">month</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -21,9 +25,7 @@
                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>
+               Retrieves the datatype's full pathname</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;
@@ -37,9 +39,9 @@
          ,
       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
+               </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.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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_isGDataType">isGDataType</a></h2><p><code>protected boolean <strong>isGDataType</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_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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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><p><code>dynamicContext</code></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_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><h2><a name="method_isGDataType">isGDataType</a></h2><p><code>protected boolean <strong>isGDataType</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_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_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
index 9603d32..1ffb820 100644
--- 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
@@ -1,18 +1,22 @@
 <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>
+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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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>
+ must be of type hexBinary</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_getNativeValue">getNativeValue</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>
+               </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_getStringValue">getStringValue</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>
+ functionally identical to value()</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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><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;
@@ -21,9 +25,9 @@
                   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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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><p><code>dynamicContext</code></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_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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_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
index d54a154..00988ce 100644
--- 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
@@ -1,6 +1,8 @@
 <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>
+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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_type">string_type</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -10,4 +12,4 @@
                   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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence arg)</code></p><p></p><h3>Parameters</h3><p><code>arg</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.ResultSequence</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
index 9c28726..8b05f62 100644
--- 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
@@ -1,6 +1,8 @@
 <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>
+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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_type">string_type</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -10,4 +12,4 @@
                   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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence arg)</code></p><p></p><h3>Parameters</h3><p><code>arg</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.ResultSequence</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
index 57846be..771bf3c 100644
--- 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
@@ -1,9 +1,11 @@
 <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>
+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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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>
+ supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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;
@@ -11,5 +13,5 @@
                   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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
index 6c16af6..f74588a 100644
--- 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
@@ -2,16 +2,20 @@
                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><tr><td><code><strong><a href="#con_XSInteger">XSInteger</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 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>
+               Absolutes the integer stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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>
+ supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.eclipse.wst.xml.xpath2.api.Item</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>
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_div">div</a>(org.eclipse.wst.xml.xpath2.api.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_getStringValue">getStringValue</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.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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;
@@ -19,29 +23,27 @@
                &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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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>
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_minus">minus</a>(org.eclipse.wst.xml.xpath2.api.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>
+ ResultSequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_mod">mod</a>(org.eclipse.wst.xml.xpath2.api.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>
+ ResultSequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_plus">plus</a>(org.eclipse.wst.xml.xpath2.api.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>
+               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_times">times</a>(org.eclipse.wst.xml.xpath2.api.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>
+               Retrieves the datatype's name</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.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;
@@ -49,13 +51,13 @@
                   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><h2><a name="con_XSInteger">XSInteger</a></h2><p><code>public <strong>XSInteger</strong>(java.lang.String 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
+               </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.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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.api.Item <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.api.Item</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.api.ResultSequence <strong>div</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence arg)</code></p><p></p><h3>Parameters</h3><p><code>arg</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.ResultSequence</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code></p><p></p><h3>Parameters</h3><p><code>arg</code></p><p><code>context</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_isLexicalValue">isLexicalValue</a></h2><p><code>protected boolean <strong>isLexicalValue</strong>(java.lang.String value)</code></p><p></p><h3>Parameters</h3><p><code>value</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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</code></p><p></p><h3>Parameters</h3><p><code>arg</code></p><p><code>context</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_isLexicalValue">isLexicalValue</a></h2><p><code>protected boolean <strong>isLexicalValue</strong>(java.lang.String value)</code></p><p></p><h3>Parameters</h3><p><code>value</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code></p><p></p><h3>Parameters</h3><p><code>arg</code></p><p><code>context</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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</code></p><p></p><h3>Parameters</h3><p><code>arg</code></p><p><code>context</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.api.ResultSequence <strong>minus</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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.api.ResultSequence <strong>mod</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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.api.ResultSequence <strong>plus</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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_times">times</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>times</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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.api.ResultSequence <strong>unary_minus</strong>()</code></p><p>Negates the integer stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.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
index 0914d53..f6105a9 100644
--- 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
@@ -1,9 +1,11 @@
 <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>
+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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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>
+ supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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;
@@ -11,5 +13,5 @@
                   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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
index f4e69e9..a940e13 100644
--- 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
@@ -1,9 +1,13 @@
 <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>
+extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSName</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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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>
+ the supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_isConstraintSatisfied">isConstraintSatisfied</a>(java.lang.String strValue)</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_type_name">type_name</a>()</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -11,5 +15,5 @@
                   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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><h2><a name="method_isConstraintSatisfied">isConstraintSatisfied</a></h2><p><code>protected boolean <strong>isConstraintSatisfied</strong>(java.lang.String strValue)</code></p><p></p><h3>Parameters</h3><p><code>strValue</code></p><h3>Returns</h3><p><code>boolean</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.XSNMTOKEN.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNMTOKEN.html
new file mode 100644
index 0000000..a40901f
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNMTOKEN.html
@@ -0,0 +1,17 @@
+<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 XSNMTOKEN</h2><br><hr><pre>public class <strong>XSNMTOKEN</strong>
+extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSToken</pre>A representation of the NMTOKEN 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_XSNMTOKEN">XSNMTOKEN</a></strong>(java.lang.String x)</code></td></tr><tr><td><code><strong><a href="#con_XSNMTOKEN">XSNMTOKEN</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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.ResultSequence arg)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Creates a new ResultSequence consisting of the extractable NMTOKEN within
+ the supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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_XSNMTOKEN">XSNMTOKEN</a></h2><p><code>public <strong>XSNMTOKEN</strong>(java.lang.String x)</code></p><p>Initialises using the supplied String</p><hr><h2><a name="con_XSNMTOKEN">XSNMTOKEN</a></h2><p><code>public <strong>XSNMTOKEN</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.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable NMTOKEN within
+ the supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which to extract the NMTOKEN</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.ResultSequence</code> - New ResultSequence consisting of the NMTOKEN supplied</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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:NMTOKEN" 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> - "NMTOKEN" 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.XSName.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSName.html
new file mode 100644
index 0000000..3111039
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSName.html
@@ -0,0 +1,17 @@
+<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 XSName</h2><br><hr><pre>public class <strong>XSName</strong>
+extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSToken</pre>A representation of the Name 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_XSName">XSName</a></strong>(java.lang.String x)</code></td></tr><tr><td><code><strong><a href="#con_XSName">XSName</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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.ResultSequence arg)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Creates a new ResultSequence consisting of the extractable Name within
+ the supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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_XSName">XSName</a></h2><p><code>public <strong>XSName</strong>(java.lang.String x)</code></p><p>Initialises using the supplied String</p><hr><h2><a name="con_XSName">XSName</a></h2><p><code>public <strong>XSName</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.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable Name within
+ the supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which to extract the Name</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.ResultSequence</code> - New ResultSequence consisting of the Name supplied</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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:Name" 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> - "Name" 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
index bf58344..c214ba8 100644
--- 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
@@ -1,9 +1,11 @@
 <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>
+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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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>
+ in the supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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;
@@ -11,5 +13,5 @@
                   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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
index 006748f..4dcf8ea 100644
--- 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
@@ -1,9 +1,13 @@
 <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>
+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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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>
+ in the supplied ResultSequence</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_getNativeValue">getNativeValue</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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;
@@ -11,5 +15,5 @@
                   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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
index 05919ce..b8a8bcf 100644
--- 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
@@ -1,9 +1,13 @@
 <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>
+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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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>
+ in the supplied ResultSequence</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_getNativeValue">getNativeValue</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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;
@@ -11,5 +15,5 @@
                   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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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.XSNormalizedString.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNormalizedString.html
new file mode 100644
index 0000000..c677b40
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNormalizedString.html
@@ -0,0 +1,19 @@
+<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 XSNormalizedString</h2><br><hr><pre>public class <strong>XSNormalizedString</strong>
+extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSString</pre>A representation of the xs:normalizedString 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_XSNormalizedString">XSNormalizedString</a></strong>(java.lang.String x)</code></td></tr><tr><td><code><strong><a href="#con_XSNormalizedString">XSNormalizedString</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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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 org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_isSatisfiesConstraints">isSatisfiesConstraints</a>(java.lang.String srcString)</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_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_XSNormalizedString">XSNormalizedString</a></h2><p><code>public <strong>XSNormalizedString</strong>(java.lang.String x)</code></p><p>Initialises using the supplied String</p><hr><h2><a name="con_XSNormalizedString">XSNormalizedString</a></h2><p><code>public <strong>XSNormalizedString</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.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><h2><a name="method_isSatisfiesConstraints">isSatisfiesConstraints</a></h2><p><code>protected boolean <strong>isSatisfiesConstraints</strong>(java.lang.String srcString)</code></p><p></p><h3>Parameters</h3><p><code>srcString</code></p><h3>Returns</h3><p><code>boolean</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:normalizedString" 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> - "normalizedString" 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
index a1faaa0..a98a398 100644
--- 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
@@ -1,15 +1,19 @@
 <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>
+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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.ResultSequence arg)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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_getNativeValue">getNativeValue</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_getStringValue">getStringValue</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence arg)</code></p><p></p><h3>Parameters</h3><p><code>arg</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.ResultSequence</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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.XSPositiveInteger.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSPositiveInteger.html
index 393829c..0f61774 100644
--- 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
@@ -1,9 +1,13 @@
 <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>
+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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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>
+ in the supplied ResultSequence</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_getNativeValue">getNativeValue</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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;
@@ -11,5 +15,5 @@
                   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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
index 84881df..c736271 100644
--- 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
@@ -1,9 +1,13 @@
 <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>
+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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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>
+ supplied ResultSequence</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_getNativeValue">getNativeValue</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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;
@@ -11,5 +15,5 @@
                   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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
index e02fa93..4666420 100644
--- 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
@@ -1,29 +1,33 @@
 <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>
+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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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
+ must be of type String</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_getNativeValue">getNativeValue</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_getStringValue">getStringValue</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 org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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>
+               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><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;
@@ -32,16 +36,16 @@
                   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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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><p><code>dynamicContext</code></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_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code></p><p>Comparison between this and the supplied representation which must be of
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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><p><code>context</code></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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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><p><code>context</code></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_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
index b065d36..36a9125 100644
--- 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
@@ -6,24 +6,30 @@
                &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>
+               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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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
+               Equality comparison between this and the supplied XSTime representation</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_getNativeValue">getNativeValue</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_getStringValue">getStringValue</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 org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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>
+               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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_minus">minus</a>(org.eclipse.wst.xml.xpath2.api.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
@@ -33,16 +39,14 @@
                &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.CalendarType</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>
+               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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_plus">plus</a>(org.eclipse.wst.xml.xpath2.api.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>
+               Retrieves the datatype's full pathname</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;
@@ -57,17 +61,17 @@
          ,
       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
+               </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.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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><p><code>dynamicContext</code></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_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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><p><code>context</code></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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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><p><code>context</code></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.api.ResultSequence <strong>minus</strong>(org.eclipse.wst.xml.xpath2.api.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 XSDayTimeDuration (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.CalendarType <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.CalendarType</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
+ 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.api.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.CalendarType <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.CalendarType</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.api.ResultSequence <strong>plus</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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_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.XSToken.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSToken.html
new file mode 100644
index 0000000..ed11be7
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSToken.html
@@ -0,0 +1,19 @@
+<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 XSToken</h2><br><hr><pre>public class <strong>XSToken</strong>
+extends org.eclipse.wst.xml.xpath2.processor.internal.types.XSNormalizedString</pre>A representation of the xs:token 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_XSToken">XSToken</a></strong>(java.lang.String x)</code></td></tr><tr><td><code><strong><a href="#con_XSToken">XSToken</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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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 org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_isSatisfiesConstraints">isSatisfiesConstraints</a>(java.lang.String srcString)</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_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_XSToken">XSToken</a></h2><p><code>public <strong>XSToken</strong>(java.lang.String x)</code></p><p>Initialises using the supplied String</p><hr><h2><a name="con_XSToken">XSToken</a></h2><p><code>public <strong>XSToken</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.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><h2><a name="method_isSatisfiesConstraints">isSatisfiesConstraints</a></h2><p><code>protected boolean <strong>isSatisfiesConstraints</strong>(java.lang.String srcString)</code></p><p></p><h3>Parameters</h3><p><code>srcString</code></p><h3>Returns</h3><p><code>boolean</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:token" 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> - "token" 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.XSUnsignedByte.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedByte.html
index 748aea1..0d46316 100644
--- 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
@@ -1,9 +1,13 @@
 <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>
+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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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>
+ in the supplied ResultSequence</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_getNativeValue">getNativeValue</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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;
@@ -11,5 +15,5 @@
                   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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
index 82b7220..0950dee 100644
--- 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
@@ -1,9 +1,13 @@
 <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>
+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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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>
+ in the supplied ResultSequence</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_getNativeValue">getNativeValue</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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;
@@ -11,5 +15,5 @@
                   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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
index 1c8a3aa..6febcc7 100644
--- 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
@@ -1,9 +1,13 @@
 <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>
+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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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>
+ in the supplied ResultSequence</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_getNativeValue">getNativeValue</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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;
@@ -11,5 +15,5 @@
                   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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
index 66b9a8d..94c2eae 100644
--- 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
@@ -1,9 +1,13 @@
 <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>
+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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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>
+ in the supplied ResultSequence</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_getNativeValue">getNativeValue</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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;
@@ -11,5 +15,5 @@
                   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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
index 1cb196f..1109ea5 100644
--- 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
@@ -1,18 +1,22 @@
 <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>
+ 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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.ResultSequence arg)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </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_getNativeValue">getNativeValue</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_getStringValue">getStringValue</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 org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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_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>
+               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;
                </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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence arg)</code></p><p></p><h3>Parameters</h3><p><code>arg</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.ResultSequence</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_getNativeValue">getNativeValue</a></h2><p><code>public java.lang.Object <strong>getNativeValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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_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
index b20ade3..112679d 100644
--- 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
@@ -4,25 +4,29 @@
          ,
       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>
+      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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.api.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>
+ from the supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_div">div</a>(org.eclipse.wst.xml.xpath2.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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
+               Equality comparison between this and the supplied duration of time.</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_getStringValue">getStringValue</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.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getTypeDefinition">getTypeDefinition</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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>
+               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.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_minus">minus</a>(org.eclipse.wst.xml.xpath2.api.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>
@@ -33,14 +37,12 @@
  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>
+ represented duration of time</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_plus">plus</a>(org.eclipse.wst.xml.xpath2.api.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>
+               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence</code></td><td width="" align="left"><code><a href="#method_times">times</a>(org.eclipse.wst.xml.xpath2.api.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>
@@ -54,17 +56,17 @@
       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
+               </h2></td></tr></table><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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.api.ResultSequence <strong>div</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext)</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><p><code>dynamicContext</code></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_getStringValue">getStringValue</a></h2><p><code>public java.lang.String <strong>getStringValue</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_getTypeDefinition">getTypeDefinition</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getTypeDefinition</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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><p><code>context</code></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
          ,
-      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</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><p><code>context</code></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
+      org.eclipse.wst.xml.xpath2.api.DynamicContext context)</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><p><code>context</code></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.api.ResultSequence <strong>minus</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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
+ 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.api.ResultSequence <strong>plus</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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_times">times</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.ResultSequence <strong>times</strong>(org.eclipse.wst.xml.xpath2.api.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.api.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/html/org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.AtomicTypeDefinition.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.AtomicTypeDefinition.html
new file mode 100644
index 0000000..358602d
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.AtomicTypeDefinition.html
@@ -0,0 +1,9 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types.builtin</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types.builtin</strong></font><br>
+               Class AtomicTypeDefinition</h2><br><hr><pre>public class <strong>AtomicTypeDefinition</strong>
+extends </pre><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.builtin.SingleItemSequence</code></td><td width="" align="left"><code><a href="#method_construct">construct</a>(org.eclipse.wst.xml.xpath2.api.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.internal.types.builtin.SingleItemSequence</code></td><td width="" align="left"><code><a href="#method_constructNative">constructNative</a>(java.lang.Object 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>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_construct">construct</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.SingleItemSequence <strong>construct</strong>(org.eclipse.wst.xml.xpath2.api.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.builtin.SingleItemSequence</code></p><hr><h2><a name="method_constructNative">constructNative</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.SingleItemSequence <strong>constructNative</strong>(java.lang.Object 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.builtin.SingleItemSequence</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.builtin.BuiltinAtomicTypeDefinition.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition.html
new file mode 100644
index 0000000..5af3a59
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition.html
@@ -0,0 +1,21 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types.builtin</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types.builtin</strong></font><br>
+               Class BuiltinAtomicTypeDefinition</h2><br><hr><pre>public class <strong>BuiltinAtomicTypeDefinition</strong>
+extends org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition</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_BuiltinAtomicTypeDefinition">BuiltinAtomicTypeDefinition</a></strong>(java.lang.String name
+         ,
+      java.lang.Class implementationClass
+         ,
+      java.lang.Class nativeType
+         ,
+      org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition baseType)</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_isAbstract">isAbstract</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_BuiltinAtomicTypeDefinition">BuiltinAtomicTypeDefinition</a></h2><p><code>public <strong>BuiltinAtomicTypeDefinition</strong>(java.lang.String name
+         ,
+      java.lang.Class implementationClass
+         ,
+      java.lang.Class nativeType
+         ,
+      org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition baseType)</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_isAbstract">isAbstract</a></h2><p><code>public boolean <strong>isAbstract</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</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.builtin.BuiltinListTypeDefinition.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinListTypeDefinition.html
new file mode 100644
index 0000000..e32f5e3
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinListTypeDefinition.html
@@ -0,0 +1,43 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types.builtin</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types.builtin</strong></font><br>
+               Class BuiltinListTypeDefinition</h2><br><hr><pre>public class <strong>BuiltinListTypeDefinition</strong>
+extends org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition</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_BuiltinListTypeDefinition">BuiltinListTypeDefinition</a></strong>(javax.xml.namespace.QName name
+         ,
+      org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition baseType
+         ,
+      org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition itemType)</code></td></tr><tr><td><code><strong><a href="#con_BuiltinListTypeDefinition">BuiltinListTypeDefinition</a></strong>(java.lang.String name
+         ,
+      org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition baseType
+         ,
+      org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition itemType)</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_getBounded">getBounded</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public short</code></td><td width="" align="left"><code><a href="#method_getBuiltInKind">getBuiltInKind</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_getFinite">getFinite</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getItemType">getItemType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getMemberTypes">getMemberTypes</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_getNumeric">getNumeric</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public short</code></td><td width="" align="left"><code><a href="#method_getOrdered">getOrdered</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.SimpleTypeDefinition</code></td><td width="" align="left"><code><a href="#method_getPrimitiveType">getPrimitiveType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public short</code></td><td width="" align="left"><code><a href="#method_getVariety">getVariety</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_isAbstract">isAbstract</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_BuiltinListTypeDefinition">BuiltinListTypeDefinition</a></h2><p><code>public <strong>BuiltinListTypeDefinition</strong>(javax.xml.namespace.QName name
+         ,
+      org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition baseType
+         ,
+      org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition itemType)</code></p><p></p><hr><h2><a name="con_BuiltinListTypeDefinition">BuiltinListTypeDefinition</a></h2><p><code>public <strong>BuiltinListTypeDefinition</strong>(java.lang.String name
+         ,
+      org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition baseType
+         ,
+      org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition itemType)</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_getBounded">getBounded</a></h2><p><code>public boolean <strong>getBounded</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_getBuiltInKind">getBuiltInKind</a></h2><p><code>public short <strong>getBuiltInKind</strong>()</code></p><p></p><h3>Returns</h3><p><code>short</code></p><hr><h2><a name="method_getFinite">getFinite</a></h2><p><code>public boolean <strong>getFinite</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_getItemType">getItemType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getItemType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><h2><a name="method_getMemberTypes">getMemberTypes</a></h2><p><code>public java.util.List <strong>getMemberTypes</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_getNumeric">getNumeric</a></h2><p><code>public boolean <strong>getNumeric</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_getOrdered">getOrdered</a></h2><p><code>public short <strong>getOrdered</strong>()</code></p><p></p><h3>Returns</h3><p><code>short</code></p><hr><h2><a name="method_getPrimitiveType">getPrimitiveType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.SimpleTypeDefinition <strong>getPrimitiveType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.SimpleTypeDefinition</code></p><hr><h2><a name="method_getVariety">getVariety</a></h2><p><code>public short <strong>getVariety</strong>()</code></p><p></p><h3>Returns</h3><p><code>short</code></p><hr><h2><a name="method_isAbstract">isAbstract</a></h2><p><code>public boolean <strong>isAbstract</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</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.builtin.BuiltinTypeDefinition.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition.html
new file mode 100644
index 0000000..4381c9b
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition.html
@@ -0,0 +1,77 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types.builtin</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types.builtin</strong></font><br>
+               Class BuiltinTypeDefinition</h2><br><hr><pre>public class <strong>BuiltinTypeDefinition</strong>
+extends java.lang.Object</pre><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_XS_NS">XS_NS</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_BuiltinTypeDefinition">BuiltinTypeDefinition</a></strong>(javax.xml.namespace.QName name
+         ,
+      org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition baseType)</code></td></tr><tr><td><code><strong><a href="#con_BuiltinTypeDefinition">BuiltinTypeDefinition</a></strong>(java.lang.String name
+         ,
+      org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition baseType)</code></td></tr><tr><td><code><strong><a href="#con_BuiltinTypeDefinition">BuiltinTypeDefinition</a></strong>(javax.xml.namespace.QName name
+         ,
+      java.lang.Class implementationClass
+         ,
+      java.lang.Class nativeType
+         ,
+      org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition baseType)</code></td></tr><tr><td><code><strong><a href="#con_BuiltinTypeDefinition">BuiltinTypeDefinition</a></strong>(java.lang.String name
+         ,
+      java.lang.Class implementationClass
+         ,
+      java.lang.Class nativeType
+         ,
+      org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition baseType)</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.builtin.SingleItemSequence</code></td><td width="" align="left"><code><a href="#method_construct">construct</a>(org.eclipse.wst.xml.xpath2.api.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.internal.types.builtin.SingleItemSequence</code></td><td width="" align="left"><code><a href="#method_constructNative">constructNative</a>(java.lang.Object obj)</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_derivedFrom">derivedFrom</a>(java.lang.String namespace
+         ,
+      java.lang.String name
+         ,
+      short derivationMethod)</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_derivedFromType">derivedFromType</a>(org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition ancestorType
+         ,
+      short derivationMethod)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></td><td width="" align="left"><code><a href="#method_getBaseType">getBaseType</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_getName">getName</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_getNamespace">getNamespace</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Class</code></td><td width="" align="left"><code><a href="#method_getNativeType">getNativeType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getSimpleTypes">getSimpleTypes</a>(org.w3c.dom.Attr attr)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getSimpleTypes">getSimpleTypes</a>(org.w3c.dom.Element attr)</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_isAbstract">isAbstract</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>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_XS_NS">XS_NS</a></h2><p><code>public static  java.lang.String <strong>XS_NS</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_BuiltinTypeDefinition">BuiltinTypeDefinition</a></h2><p><code>public <strong>BuiltinTypeDefinition</strong>(javax.xml.namespace.QName name
+         ,
+      org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition baseType)</code></p><p></p><hr><h2><a name="con_BuiltinTypeDefinition">BuiltinTypeDefinition</a></h2><p><code>public <strong>BuiltinTypeDefinition</strong>(java.lang.String name
+         ,
+      org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition baseType)</code></p><p></p><hr><h2><a name="con_BuiltinTypeDefinition">BuiltinTypeDefinition</a></h2><p><code>public <strong>BuiltinTypeDefinition</strong>(javax.xml.namespace.QName name
+         ,
+      java.lang.Class implementationClass
+         ,
+      java.lang.Class nativeType
+         ,
+      org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition baseType)</code></p><p></p><hr><h2><a name="con_BuiltinTypeDefinition">BuiltinTypeDefinition</a></h2><p><code>public <strong>BuiltinTypeDefinition</strong>(java.lang.String name
+         ,
+      java.lang.Class implementationClass
+         ,
+      java.lang.Class nativeType
+         ,
+      org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition baseType)</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_construct">construct</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.SingleItemSequence <strong>construct</strong>(org.eclipse.wst.xml.xpath2.api.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.builtin.SingleItemSequence</code></p><hr><h2><a name="method_constructNative">constructNative</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.SingleItemSequence <strong>constructNative</strong>(java.lang.Object obj)</code></p><p></p><h3>Parameters</h3><p><code>obj</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.SingleItemSequence</code></p><hr><h2><a name="method_derivedFrom">derivedFrom</a></h2><p><code>public boolean <strong>derivedFrom</strong>(java.lang.String namespace
+         ,
+      java.lang.String name
+         ,
+      short derivationMethod)</code></p><p></p><h3>Parameters</h3><p><code>namespace</code></p><p><code>name</code></p><p><code>derivationMethod</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_derivedFromType">derivedFromType</a></h2><p><code>public boolean <strong>derivedFromType</strong>(org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition ancestorType
+         ,
+      short derivationMethod)</code></p><p></p><h3>Parameters</h3><p><code>ancestorType</code></p><p><code>derivationMethod</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_getBaseType">getBaseType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition <strong>getBaseType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition</code></p><hr><h2><a name="method_getName">getName</a></h2><p><code>public java.lang.String <strong>getName</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getNamespace">getNamespace</a></h2><p><code>public java.lang.String <strong>getNamespace</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getNativeType">getNativeType</a></h2><p><code>public java.lang.Class <strong>getNativeType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_getSimpleTypes">getSimpleTypes</a></h2><p><code>public java.util.List <strong>getSimpleTypes</strong>(org.w3c.dom.Attr attr)</code></p><p></p><h3>Parameters</h3><p><code>attr</code></p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_getSimpleTypes">getSimpleTypes</a></h2><p><code>public java.util.List <strong>getSimpleTypes</strong>(org.w3c.dom.Element attr)</code></p><p></p><h3>Parameters</h3><p><code>attr</code></p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_isAbstract">isAbstract</a></h2><p><code>public boolean <strong>isAbstract</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</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.builtin.BuiltinTypeLibrary.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeLibrary.html
new file mode 100644
index 0000000..7e628b4
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeLibrary.html
@@ -0,0 +1,112 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types.builtin</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types.builtin</strong></font><br>
+               Class BuiltinTypeLibrary</h2><br><hr><pre>public class <strong>BuiltinTypeLibrary</strong>
+extends java.lang.Object</pre>This type captures all of the built-in XPath 2.0 types, as defined in F&O specification.
+ http://www.w3.org/TR/xquery-operators/#datatypes<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  org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel</code></td><td width="80%" align="left"><code><a href="#field_BUILTIN_TYPES">BUILTIN_TYPES</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_ANYATOMICTYPE">XS_ANYATOMICTYPE</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.builtin.BuiltinTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_ANYSIMPLETYPE">XS_ANYSIMPLETYPE</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.builtin.BuiltinTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_ANYTYPE">XS_ANYTYPE</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_ANYURI">XS_ANYURI</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_BASE64BINARY">XS_BASE64BINARY</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_BOOLEAN">XS_BOOLEAN</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_BYTE">XS_BYTE</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_DATE">XS_DATE</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_DATETIME">XS_DATETIME</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_DAYTIMEDURATION">XS_DAYTIMEDURATION</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_DECIMAL">XS_DECIMAL</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_DOUBLE">XS_DOUBLE</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_DURATION">XS_DURATION</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.builtin.BuiltinListTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_ENTITIES">XS_ENTITIES</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_ENTITY">XS_ENTITY</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_FLOAT">XS_FLOAT</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_GDAY">XS_GDAY</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_GMONTH">XS_GMONTH</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_GMONTHDAY">XS_GMONTHDAY</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_GYEAR">XS_GYEAR</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_GYEARMONTH">XS_GYEARMONTH</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_HEXBINARY">XS_HEXBINARY</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_ID">XS_ID</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_IDREF">XS_IDREF</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.builtin.BuiltinListTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_IDREFS">XS_IDREFS</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_INT">XS_INT</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_INTEGER">XS_INTEGER</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_LANGUAGE">XS_LANGUAGE</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_LONG">XS_LONG</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_NAME">XS_NAME</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_NCNAME">XS_NCNAME</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_NEGATIVEINTEGER">XS_NEGATIVEINTEGER</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_NMTOKEN">XS_NMTOKEN</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.builtin.BuiltinListTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_NMTOKENS">XS_NMTOKENS</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_NONNEGATIVEINTEGER">XS_NONNEGATIVEINTEGER</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_NONPOSITIVEINTEGER">XS_NONPOSITIVEINTEGER</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_NORMALIZEDSTRING">XS_NORMALIZEDSTRING</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_NOTATION">XS_NOTATION</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_POSITIVEINTEGER">XS_POSITIVEINTEGER</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_QNAME">XS_QNAME</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_SHORT">XS_SHORT</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_STRING">XS_STRING</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_TIME">XS_TIME</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_TOKEN">XS_TOKEN</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_UNSIGNEDBYTE">XS_UNSIGNEDBYTE</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_UNSIGNEDINT">XS_UNSIGNEDINT</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_UNSIGNEDLONG">XS_UNSIGNEDLONG</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_UNSIGNEDSHORT">XS_UNSIGNEDSHORT</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.builtin.BuiltinTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_UNTYPED">XS_UNTYPED</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_UNTYPEDATOMIC">XS_UNTYPEDATOMIC</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.builtin.BuiltinAtomicTypeDefinition</code></td><td width="80%" align="left"><code><a href="#field_XS_YEARMONTHDURATION">XS_YEARMONTHDURATION</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_BuiltinTypeLibrary">BuiltinTypeLibrary</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_BUILTIN_TYPES">BUILTIN_TYPES</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel <strong>BUILTIN_TYPES</strong></code></p><hr><h2><a name="field_XS_ANYATOMICTYPE">XS_ANYATOMICTYPE</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_ANYATOMICTYPE</strong></code></p><hr><h2><a name="field_XS_ANYSIMPLETYPE">XS_ANYSIMPLETYPE</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition <strong>XS_ANYSIMPLETYPE</strong></code></p><hr><h2><a name="field_XS_ANYTYPE">XS_ANYTYPE</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition <strong>XS_ANYTYPE</strong></code></p><hr><h2><a name="field_XS_ANYURI">XS_ANYURI</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_ANYURI</strong></code></p><hr><h2><a name="field_XS_BASE64BINARY">XS_BASE64BINARY</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_BASE64BINARY</strong></code></p><hr><h2><a name="field_XS_BOOLEAN">XS_BOOLEAN</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_BOOLEAN</strong></code></p><hr><h2><a name="field_XS_BYTE">XS_BYTE</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_BYTE</strong></code></p><hr><h2><a name="field_XS_DATE">XS_DATE</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_DATE</strong></code></p><hr><h2><a name="field_XS_DATETIME">XS_DATETIME</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_DATETIME</strong></code></p><hr><h2><a name="field_XS_DAYTIMEDURATION">XS_DAYTIMEDURATION</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_DAYTIMEDURATION</strong></code></p><hr><h2><a name="field_XS_DECIMAL">XS_DECIMAL</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_DECIMAL</strong></code></p><hr><h2><a name="field_XS_DOUBLE">XS_DOUBLE</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_DOUBLE</strong></code></p><hr><h2><a name="field_XS_DURATION">XS_DURATION</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_DURATION</strong></code></p><hr><h2><a name="field_XS_ENTITIES">XS_ENTITIES</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinListTypeDefinition <strong>XS_ENTITIES</strong></code></p><hr><h2><a name="field_XS_ENTITY">XS_ENTITY</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_ENTITY</strong></code></p><hr><h2><a name="field_XS_FLOAT">XS_FLOAT</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_FLOAT</strong></code></p><hr><h2><a name="field_XS_GDAY">XS_GDAY</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_GDAY</strong></code></p><hr><h2><a name="field_XS_GMONTH">XS_GMONTH</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_GMONTH</strong></code></p><hr><h2><a name="field_XS_GMONTHDAY">XS_GMONTHDAY</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_GMONTHDAY</strong></code></p><hr><h2><a name="field_XS_GYEAR">XS_GYEAR</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_GYEAR</strong></code></p><hr><h2><a name="field_XS_GYEARMONTH">XS_GYEARMONTH</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_GYEARMONTH</strong></code></p><hr><h2><a name="field_XS_HEXBINARY">XS_HEXBINARY</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_HEXBINARY</strong></code></p><hr><h2><a name="field_XS_ID">XS_ID</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_ID</strong></code></p><hr><h2><a name="field_XS_IDREF">XS_IDREF</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_IDREF</strong></code></p><hr><h2><a name="field_XS_IDREFS">XS_IDREFS</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinListTypeDefinition <strong>XS_IDREFS</strong></code></p><hr><h2><a name="field_XS_INT">XS_INT</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_INT</strong></code></p><hr><h2><a name="field_XS_INTEGER">XS_INTEGER</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_INTEGER</strong></code></p><hr><h2><a name="field_XS_LANGUAGE">XS_LANGUAGE</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_LANGUAGE</strong></code></p><hr><h2><a name="field_XS_LONG">XS_LONG</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_LONG</strong></code></p><hr><h2><a name="field_XS_NAME">XS_NAME</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_NAME</strong></code></p><hr><h2><a name="field_XS_NCNAME">XS_NCNAME</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_NCNAME</strong></code></p><hr><h2><a name="field_XS_NEGATIVEINTEGER">XS_NEGATIVEINTEGER</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_NEGATIVEINTEGER</strong></code></p><hr><h2><a name="field_XS_NMTOKEN">XS_NMTOKEN</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_NMTOKEN</strong></code></p><hr><h2><a name="field_XS_NMTOKENS">XS_NMTOKENS</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinListTypeDefinition <strong>XS_NMTOKENS</strong></code></p><hr><h2><a name="field_XS_NONNEGATIVEINTEGER">XS_NONNEGATIVEINTEGER</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_NONNEGATIVEINTEGER</strong></code></p><hr><h2><a name="field_XS_NONPOSITIVEINTEGER">XS_NONPOSITIVEINTEGER</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_NONPOSITIVEINTEGER</strong></code></p><hr><h2><a name="field_XS_NORMALIZEDSTRING">XS_NORMALIZEDSTRING</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_NORMALIZEDSTRING</strong></code></p><hr><h2><a name="field_XS_NOTATION">XS_NOTATION</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_NOTATION</strong></code></p><hr><h2><a name="field_XS_POSITIVEINTEGER">XS_POSITIVEINTEGER</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_POSITIVEINTEGER</strong></code></p><hr><h2><a name="field_XS_QNAME">XS_QNAME</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_QNAME</strong></code></p><hr><h2><a name="field_XS_SHORT">XS_SHORT</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_SHORT</strong></code></p><hr><h2><a name="field_XS_STRING">XS_STRING</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_STRING</strong></code></p><hr><h2><a name="field_XS_TIME">XS_TIME</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_TIME</strong></code></p><hr><h2><a name="field_XS_TOKEN">XS_TOKEN</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_TOKEN</strong></code></p><hr><h2><a name="field_XS_UNSIGNEDBYTE">XS_UNSIGNEDBYTE</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_UNSIGNEDBYTE</strong></code></p><hr><h2><a name="field_XS_UNSIGNEDINT">XS_UNSIGNEDINT</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_UNSIGNEDINT</strong></code></p><hr><h2><a name="field_XS_UNSIGNEDLONG">XS_UNSIGNEDLONG</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_UNSIGNEDLONG</strong></code></p><hr><h2><a name="field_XS_UNSIGNEDSHORT">XS_UNSIGNEDSHORT</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_UNSIGNEDSHORT</strong></code></p><hr><h2><a name="field_XS_UNTYPED">XS_UNTYPED</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition <strong>XS_UNTYPED</strong></code></p><hr><h2><a name="field_XS_UNTYPEDATOMIC">XS_UNTYPEDATOMIC</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_UNTYPEDATOMIC</strong></code></p><hr><h2><a name="field_XS_YEARMONTHDURATION">XS_YEARMONTHDURATION</a></h2><p><code>public static  org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition <strong>XS_YEARMONTHDURATION</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_BuiltinTypeLibrary">BuiltinTypeLibrary</a></h2><p><code>public <strong>BuiltinTypeLibrary</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.builtin.SingleItemSequence.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.SingleItemSequence.html
new file mode 100644
index 0000000..fbb17a4
--- /dev/null
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.SingleItemSequence.html
@@ -0,0 +1,3 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types.builtin</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types.builtin</strong></font><br>
+               Class SingleItemSequence</h2><br><hr><pre>public class <strong>SingleItemSequence</strong>
+extends </pre><hr><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.utils.TypePromoter.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.utils.TypePromoter.html
index 57b146a..508bffc 100644
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.utils.TypePromoter.html
+++ b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.utils.TypePromoter.html
@@ -1,16 +1,16 @@
 <html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.utils</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.utils</strong></font><br>
                Class TypePromoter</h2><br><hr><pre>public class <strong>TypePromoter</strong>
-extends java.lang.Object</pre>Generic type promoter for handling subtype substitution and type promotions for functions and operators.<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_TypePromoter">TypePromoter</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.AnyAtomicType</code></td><td width="" align="left"><code><a href="#method_atomize">atomize</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType at)</code><br>
+extends java.lang.Object</pre>Generic type promoter for handling subtype substitution and type promotions for functions and operators.<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_TypePromoter">TypePromoter</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.AnyAtomicType</code></td><td width="" align="left"><code><a href="#method_atomize">atomize</a>(org.eclipse.wst.xml.xpath2.api.Item at)</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_checkCombination">checkCombination</a>(java.lang.Class newType)</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_considerSequence">considerSequence</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence sequenceToConsider)</code><br>
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_considerSequence">considerSequence</a>(org.eclipse.wst.xml.xpath2.api.ResultSequence sequenceToConsider)</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_considerType">considerType</a>(java.lang.Class typeToConsider)</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_considerTypes">considerTypes</a>(java.util.Collection typesToConsider)</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_considerValue">considerValue</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType at)</code><br>
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_considerValue">considerValue</a>(org.eclipse.wst.xml.xpath2.api.Item at)</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.AnyAtomicType</code></td><td width="" align="left"><code><a href="#method_doPromote">doPromote</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType value)</code><br>
                &nbsp;&nbsp;&nbsp;&nbsp;
@@ -26,4 +26,4 @@
                   Constructor Detail
                </h2></td></tr></table><h2><a name="con_TypePromoter">TypePromoter</a></h2><p><code>public <strong>TypePromoter</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_atomize">atomize</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType <strong>atomize</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType at)</code></p><p></p><h3>Parameters</h3><p><code>at</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType</code></p><hr><h2><a name="method_checkCombination">checkCombination</a></h2><p><code>protected boolean <strong>checkCombination</strong>(java.lang.Class newType)</code></p><p></p><h3>Parameters</h3><p><code>newType</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_considerSequence">considerSequence</a></h2><p><code>public void <strong>considerSequence</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence sequenceToConsider)</code></p><p></p><h3>Parameters</h3><p><code>sequenceToConsider</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_considerType">considerType</a></h2><p><code>public void <strong>considerType</strong>(java.lang.Class typeToConsider)</code></p><p></p><h3>Parameters</h3><p><code>typeToConsider</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_considerTypes">considerTypes</a></h2><p><code>public void <strong>considerTypes</strong>(java.util.Collection typesToConsider)</code></p><p></p><h3>Parameters</h3><p><code>typesToConsider</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_considerValue">considerValue</a></h2><p><code>public void <strong>considerValue</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType at)</code></p><p></p><h3>Parameters</h3><p><code>at</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_doPromote">doPromote</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType <strong>doPromote</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType value)</code></p><p></p><h3>Parameters</h3><p><code>value</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_getTargetType">getTargetType</a></h2><p><code>public java.lang.Class <strong>getTargetType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_promote">promote</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType <strong>promote</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType value)</code></p><p></p><h3>Parameters</h3><p><code>value</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_setTargetType">setTargetType</a></h2><p><code>protected void <strong>setTargetType</strong>(java.lang.Class class1)</code></p><p></p><h3>Parameters</h3><p><code>class1</code></p><hr><h2><a name="method_substitute">substitute</a></h2><p><code>protected java.lang.Class <strong>substitute</strong>(java.lang.Class typeToConsider)</code></p><p></p><h3>Parameters</h3><p><code>typeToConsider</code> - The</p><h3>Returns</h3><p><code>java.lang.Class</code> - The supertype to treat it as (i.e. if a xs:nonNegativeInteger is treated as xs:number)</p><hr></body></html>
\ No newline at end of file
+               </h2></td></tr></table><h2><a name="method_atomize">atomize</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType <strong>atomize</strong>(org.eclipse.wst.xml.xpath2.api.Item at)</code></p><p></p><h3>Parameters</h3><p><code>at</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType</code></p><hr><h2><a name="method_checkCombination">checkCombination</a></h2><p><code>protected boolean <strong>checkCombination</strong>(java.lang.Class newType)</code></p><p></p><h3>Parameters</h3><p><code>newType</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_considerSequence">considerSequence</a></h2><p><code>public void <strong>considerSequence</strong>(org.eclipse.wst.xml.xpath2.api.ResultSequence sequenceToConsider)</code></p><p></p><h3>Parameters</h3><p><code>sequenceToConsider</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_considerType">considerType</a></h2><p><code>public void <strong>considerType</strong>(java.lang.Class typeToConsider)</code></p><p></p><h3>Parameters</h3><p><code>typeToConsider</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_considerTypes">considerTypes</a></h2><p><code>public void <strong>considerTypes</strong>(java.util.Collection typesToConsider)</code></p><p></p><h3>Parameters</h3><p><code>typesToConsider</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_considerValue">considerValue</a></h2><p><code>public void <strong>considerValue</strong>(org.eclipse.wst.xml.xpath2.api.Item at)</code></p><p></p><h3>Parameters</h3><p><code>at</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_doPromote">doPromote</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType <strong>doPromote</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType value)</code></p><p></p><h3>Parameters</h3><p><code>value</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_getTargetType">getTargetType</a></h2><p><code>public java.lang.Class <strong>getTargetType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_promote">promote</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType <strong>promote</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType value)</code></p><p></p><h3>Parameters</h3><p><code>value</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_setTargetType">setTargetType</a></h2><p><code>protected void <strong>setTargetType</strong>(java.lang.Class class1)</code></p><p></p><h3>Parameters</h3><p><code>class1</code></p><hr><h2><a name="method_substitute">substitute</a></h2><p><code>protected java.lang.Class <strong>substitute</strong>(java.lang.Class typeToConsider)</code></p><p></p><h3>Parameters</h3><p><code>typeToConsider</code> - The</p><h3>Returns</h3><p><code>java.lang.Class</code> - The supertype to treat it as (i.e. if a xs:nonNegativeInteger is treated as xs:number)</p><hr></body></html>
\ No newline at end of file
